温馨提示×

Ruby正则表达式有哪些常用模式

小樊
81
2024-11-06 03:27:38
栏目: 编程语言

在Ruby中,正则表达式(Regular Expression)是一种用于匹配和处理字符串的强大工具。以下是一些常用的Ruby正则表达式模式:

  1. 基本模式:

    • \d:匹配一个数字字符(等价于[0-9])
    • \D:匹配一个非数字字符(等价于[^0-9])
    • \w:匹配一个单词字符(等价于[A-Za-z0-9_])
    • \W:匹配一个非单词字符(等价于[^A-Za-z0-9_])
    • \s:匹配一个空白字符(空格、制表符、换行符等)
    • \S:匹配一个非空白字符
    • .:匹配任意单个字符(除了换行符)
  2. 量词:

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

    • ^:匹配字符串的开头
    • $:匹配字符串的结尾
    • \A:匹配字符串的开头
    • \Z:匹配字符串的结尾(在非贪婪模式下)
    • \z:匹配字符串的结尾(在贪婪模式下)
    • \b:匹配单词边界
    • \B:匹配非单词边界
  4. 分组和选择:

    • (pattern):将pattern整体进行匹配 |:表示或(OR),用于分组和选择 []:匹配方括号内的任意一个字符 [^]:匹配方括号外的任意一个字符
  5. 转义字符:

    • \\:用于转义特殊字符,如换行符(\n)、制表符(\t)等
    • \.:匹配一个点(.)字符(需要转义)
  6. 正则表达式修饰符:

    • i:忽略大小写
    • m:多行模式,使^$匹配每一行的开头和结尾
    • s:让.匹配包括换行符在内的任意字符
    • u:使用Unicode模式
    • x:忽略空白和注释

这些常用模式可以组合使用,以满足各种字符串匹配和处理的需求。在Ruby中,可以使用Regexp类和matchsearch等方法来操作正则表达式。

0