在Ruby中,正则表达式(Regular Expression)是一种用于匹配和处理字符串的强大工具。以下是一些常用的Ruby正则表达式模式:
基本模式:
\d:匹配一个数字字符(等价于[0-9])\D:匹配一个非数字字符(等价于[^0-9])\w:匹配一个单词字符(等价于[A-Za-z0-9_])\W:匹配一个非单词字符(等价于[^A-Za-z0-9_])\s:匹配一个空白字符(空格、制表符、换行符等)\S:匹配一个非空白字符.:匹配任意单个字符(除了换行符)量词:
*:匹配前面的元素零次或多次+:匹配前面的元素一次或多次?:匹配前面的元素零次或一次{m,n}:匹配前面的元素至少m次,至多n次{m,n,}:匹配前面的元素至少m次,至多n次(等价于{m,n}){,m}:匹配前面的元素零次或m次{,n}:匹配前面的元素零次或n次定位符:
^:匹配字符串的开头$:匹配字符串的结尾\A:匹配字符串的开头\Z:匹配字符串的结尾(在非贪婪模式下)\z:匹配字符串的结尾(在贪婪模式下)\b:匹配单词边界\B:匹配非单词边界分组和选择:
(pattern):将pattern整体进行匹配
|:表示或(OR),用于分组和选择
[]:匹配方括号内的任意一个字符
[^]:匹配方括号外的任意一个字符转义字符:
\\:用于转义特殊字符,如换行符(\n)、制表符(\t)等\.:匹配一个点(.)字符(需要转义)正则表达式修饰符:
i:忽略大小写m:多行模式,使^和$匹配每一行的开头和结尾s:让.匹配包括换行符在内的任意字符u:使用Unicode模式x:忽略空白和注释这些常用模式可以组合使用,以满足各种字符串匹配和处理的需求。在Ruby中,可以使用Regexp类和match、search等方法来操作正则表达式。