Ruby 教程 之 Ruby 正则表达式 6
Ruby 正则表达式
正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找字符串集合。
正则表达式用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
正则表达式实例
非贪婪重复
这会匹配最小次数的重复。
实例 描述
/<.>/ 贪婪重复:匹配 "perl>"
/<.?>/ 非贪婪重复:匹配 "perl>" 中的 ""
通过圆括号进行分组
实例 描述
/\D\d+/ 无分组: + 重复 \d
/(\D\d)+/ 分组: + 重复 \D\d 对
/([Rr]uby(, )?)+/ 匹配 "Ruby"、"Ruby, ruby, ruby",等等
反向引用
这会再次匹配之前匹配过的分组。
实例 描述
/([Rr])uby&\1ails/ 匹配 ruby&rails 或 Ruby&Rails
/(['"])(?:(?!\1).)*\1/ 单引号或双引号字符串。\1 匹配第一个分组所匹配的字符,\2 匹配第二个分组所匹配的字符,依此类推。