正则表达式语法

普通字符

  • 匹配 "a" 将匹配文本中的 "a" 字符: 示例: a 匹配 "a"

元字符

  • \d 匹配 任意数字字符 等价于 [0-9] : 示例: \d 匹配 "1"

  • \D 匹配一个非数字字符 等价于 [^0-9]

  • \w 匹配 任意字母数字字符: 示例: \w 匹配 "a"

  • . 匹配 任意字符(除了换行符): 示例: . 匹配 "x"

量词

  • *:匹配前面的模式 0次或多次: 示例: a* 匹配 "", "a", "aa", zo* 能匹配 "z" 以及 "zoo"

  • +:匹配前面的模式 1次或多次: 示例: a+ 匹配 "a", "aa", zo+ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"

  • ?:匹配前面的模式 0次或一次: 示例: a? 匹配 "", "a"

  • {n}:匹配前面的模式 恰好 n 次: 示例: a{2} 匹配 "aa"

  • {n,}:匹配前面的模式 至少 n 次: 示例: a{2,} 匹配 "aa", "aaa"

  • {n,m}:匹配前面的模式 至少 n 次且不超过 m 次 (n <= m): 示例: a{2,3} 匹配 "aa", "aaa"

字符类

  • [ ]:匹配括号内的 任意一个字符: 示例: 例如 [aeiou] 匹配字符串 "google runoob taobao" 中所有的 e o u a 字母。

  • [^ ]:匹配 除了括号内的字符以外的任意一个字符: 示例: [^aeiou] 匹配字符串 "google runoob taobao" 中除了 e o u a 字母的所有字符

边界匹配

  • ^:匹配 字符串的开头: 示例: ^a 匹配 "a""abcd" 的开头

  • $:匹配 字符串的结尾: 示例: a$ 匹配 "a""abcda" 的结尾

  • \b:匹配 匹配一个单词边界,也就是指单词和空格间的位置: 示例: 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'

  • \B:匹配 匹配非单词边界: 示例: 'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'

分组和捕获

  • ( ):用于 分组和捕获子表达式: 示例: (a)b 捕获 "a" 并匹配 "ab"

  • (?: ):用于 分组但不捕获子表达式: 示例: (?:a)b 匹配 "ab" 但不会捕获 "a"

特殊字符

  • \:转义字符,用于匹配 特殊字符本身: 示例: \\ 匹配 "\"

  • .:匹配 任意字符(换行符(\n、\r)) 相等于 [^\n\r]: 示例: . 已在元字符中给出

  • |:用于 指定多个模式的选择: 示例: a|b 匹配 "a""b"

常用

  • [A-Z]: 表示一个区间,匹配 所有大写字母

  • [a-z]: 表示 所有小写字母

  • [\s\S]: 表示匹配所有\s 是匹配所有空白符,包括换行,\S 非空白符(不包括换行)。

  • \w: 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]

  • \d: 匹配任意一个阿拉伯数字(0 到 9)。等价于 [0-9]

^[a-zA-Z0-9_-]{3,15}$

  • ^ 表示匹配字符串的开头
  • [a-zA-Z0-9_-] 表示字符集,包含小写字母、大写字母、数字、下划线和连接字符 -
  • {3,15} 表示前面的字符集最少出现 3 次,最多出现 15 次,从而限制了用户名的长度在 3 到 15 个字符之间
  • $ 表示匹配字符串的结尾
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值