Ruby正則表達(dá)式有哪些常用模式

小樊
81
2024-11-06 03:27:38
欄目: 編程語言

在Ruby中,正則表達(dá)式(Regular Expression)是一種用于匹配和處理字符串的強(qiáng)大工具。以下是一些常用的Ruby正則表達(dá)式模式:

  1. 基本模式:

    • \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è)字符(除了換行符)
  2. 量詞:

    • *:匹配前面的元素零次或多次
    • +:匹配前面的元素一次或多次
    • ?:匹配前面的元素零次或一次
    • {m,n}:匹配前面的元素至少m次,至多n次
    • {m,n,}:匹配前面的元素至少m次,至多n次(等價(jià)于{m,n}
    • {,m}:匹配前面的元素零次或m次
    • {,n}:匹配前面的元素零次或n次
  3. 定位符:

    • ^:匹配字符串的開頭
    • $:匹配字符串的結(jié)尾
    • \A:匹配字符串的開頭
    • \Z:匹配字符串的結(jié)尾(在非貪婪模式下)
    • \z:匹配字符串的結(jié)尾(在貪婪模式下)
    • \b:匹配單詞邊界
    • \B:匹配非單詞邊界
  4. 分組和選擇:

    • (pattern):將pattern整體進(jìn)行匹配 |:表示或(OR),用于分組和選擇 []:匹配方括號(hào)內(nèi)的任意一個(gè)字符 [^]:匹配方括號(hào)外的任意一個(gè)字符
  5. 轉(zhuǎn)義字符:

    • \\:用于轉(zhuǎn)義特殊字符,如換行符(\n)、制表符(\t)等
    • \.:匹配一個(gè)點(diǎn)(.)字符(需要轉(zhuǎn)義)
  6. 正則表達(dá)式修飾符:

    • i:忽略大小寫
    • m:多行模式,使^$匹配每一行的開頭和結(jié)尾
    • s:讓.匹配包括換行符在內(nèi)的任意字符
    • u:使用Unicode模式
    • x:忽略空白和注釋

這些常用模式可以組合使用,以滿足各種字符串匹配和處理的需求。在Ruby中,可以使用Regexp類和match、search等方法來操作正則表達(dá)式。

0