定义
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
语法
^[0-9]+abc*123?$
- ^ 为匹配输入字符串的开始位置。
- + 号代表前面的字符必须至少出现一次(1次或多次)。
- * 号代表字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
- ? 问号代表前面的字符最多只可以出现一次(0次、或1次)。
- $ 匹配输入字符串的结尾位置。
- {n} n 是一个非负整数。匹配确定的 n 次。
- {n,} n 是一个非负整数。至少匹配n 次。
- {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
不常用的
- \b 匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。
- \B 匹配非单词边界。‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’。
- \d 匹配一个数字字符。等价于 [0-9]。
- \D 匹配一个非数字字符。等价于 [^0-9]。
- \n 匹配一个换行符。等价于 \x0a 和 \cJ。
- \r 匹配一个回车符。等价于 \x0d 和 \cM。
- \t 匹配一个制表符。等价于 \x09 和 \cI。
- \w 匹配字母、数字、下划线。等价于’[A-Za-z0-9_]’。
- \W 匹配非字母、数字、下划线。等价于 ‘[^A-Za-z0-9_]’。