一 元字符
经常使用的元字符和代表的含义如下表所示。
字符 | 含意 |
---|---|
. | 匹配任意一个字符 |
[abc] | 匹配方括号中任意一个字符,可以使用 - 表示匹配字符的范围。[a-d]表示匹配小写字母a到d中间的任一字符(包含a和d),[0-9]表示匹配任一阿拉伯数字。 |
[^abc] | 在括号中加上^符号表示匹配除方括号中字符之外的任一字符。 |
\d | 匹配阿拉伯数字,等同于[0-9]。 |
\D | 匹配阿拉伯数字之外的任一字符。 |
\w | 匹配单词字母或数字或下划线。 |
\W | 匹配除单词字母或者数字或下划线之外的字符。 |
\x | 匹配16进制数字,等同于[0-9a-fA-F]。 |
\X | 匹配除16进制之外的字符 |
\s | 匹配空白字符 |
\S | 匹配非空白字符 |
示例说明:
(1).匹配任意字符,例如可以匹配0,a,+,_等。
(2)\d\w\x\s匹配第一个字符为阿拉伯数字,第二个字符为字母数字或者下划线,第三个字符为16进制数字,第四个数字为空白字符,例如11a ,1s3
二 表示数量的字符
表示数量的字符用于限定匹配的次数,常用如下。
字符 | 含意 |
---|---|
* | 匹配0-无限多次。 |
+ | 匹配1-无限多次。 |
? | 匹配0或1次。 |
{n} | 匹配n次。 |
{n,m} | 匹配n-m次。 |
{n,} | 匹配n-无限多次。 |
{,m} | 匹配0-m次。 |
示例说明:
(1)\d*表示重复匹配阿拉伯数字0次或者多次,例如1,23,9999999。
(2)\d{1,9}表示重复匹配匹配阿拉伯数字1-9次。
三 表示位置的字符
表示位置的的字符匹配的仅仅是一个位置,不匹配任何实际的字符,常用如下。
字符 | 含意 |
---|---|
$ | 匹配行尾。 |
^ | 匹配行首。 |
\b | 匹配单词边界,边界指的是一个单词的开头或者结尾,或者是一个单词字符(\w)和非单词字符(\W)之间的位置,非单词字符指的是除除数字,字母和下划线之外的字符。 |
\B | 匹配非单词边界。 |
示例说明:
(1)\d$ 表示匹配以数字结尾的字符串,如1as2,1aa3等,^$表示匹配空行(只有一个回车符没有任何字符)。
(2)\b和\B一般用于精准的匹配某些字符,对于字符串"low flow flower f@lower f=low=er",\blow\b可以匹配到low和"f=low=er",匹配到"f=low=er"是因为=为\W而l为\w因此两者之间为单词边界。\blow\B可以匹配到"f@lower",是因为@为\W而l为\w因此两者之间为单词边界,w和e同为\w两者之间为非单词边界,同理\Blow\b可以匹配到flow。
四 转义字符
转义字符的作用就是可以将正则表达式中有特殊意义的字符进行转义,使其可以匹配到字符本身而不是其代表的特殊含义,用法如下。
字符 | 含意 |
---|---|
* | 匹配 * 字符。 |
. | 匹配 . 字符。 |
/ | 匹配 / 字符。 |
\ | 匹配 \ 字符。 |
[ | 匹配 [ 字符。 |
总结
以上是常见的正则表达式的字符的含义和基本用法,已经可以基本满足当前工作的需求,若后续有需要,还会继续学习分享更新。