在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
等方法來操作正則表達式。