在Ruby中,正則表達(dá)式(Regular Expression)是一種用于匹配和處理字符串的強(qiáng)大工具。以下是一些常用的Ruby正則表達(dá)式模式:
基本模式:
\d
:匹配一個(gè)數(shù)字字符(等價(jià)于[0-9])\D
:匹配一個(gè)非數(shù)字字符(等價(jià)于[^0-9])\w
:匹配一個(gè)單詞字符(等價(jià)于[A-Za-z0-9_])\W
:匹配一個(gè)非單詞字符(等價(jià)于[^A-Za-z0-9_])\s
:匹配一個(gè)空白字符(空格、制表符、換行符等)\S
:匹配一個(gè)非空白字符.
:匹配任意單個(gè)字符(除了換行符)量詞:
*
:匹配前面的元素零次或多次+
:匹配前面的元素一次或多次?
:匹配前面的元素零次或一次{m,n}
:匹配前面的元素至少m次,至多n次{m,n,}
:匹配前面的元素至少m次,至多n次(等價(jià)于{m,n}
){,m}
:匹配前面的元素零次或m次{,n}
:匹配前面的元素零次或n次定位符:
^
:匹配字符串的開頭$
:匹配字符串的結(jié)尾\A
:匹配字符串的開頭\Z
:匹配字符串的結(jié)尾(在非貪婪模式下)\z
:匹配字符串的結(jié)尾(在貪婪模式下)\b
:匹配單詞邊界\B
:匹配非單詞邊界分組和選擇:
(pattern)
:將pattern整體進(jìn)行匹配
|:表示或(OR),用于分組和選擇
[]
:匹配方括號(hào)內(nèi)的任意一個(gè)字符
[^]
:匹配方括號(hào)外的任意一個(gè)字符轉(zhuǎn)義字符:
\\
:用于轉(zhuǎn)義特殊字符,如換行符(\n
)、制表符(\t
)等\.
:匹配一個(gè)點(diǎn)(.
)字符(需要轉(zhuǎn)義)正則表達(dá)式修飾符:
i
:忽略大小寫m
:多行模式,使^
和$
匹配每一行的開頭和結(jié)尾s
:讓.
匹配包括換行符在內(nèi)的任意字符u
:使用Unicode模式x
:忽略空白和注釋這些常用模式可以組合使用,以滿足各種字符串匹配和處理的需求。在Ruby中,可以使用Regexp
類和match
、search
等方法來操作正則表達(dá)式。