在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
等方法来操作正则表达式。