正则表达式
\b 是正则表达式的一个特殊代码,有人称它为元字符。代表着单词的开头或结尾,也就是单词的分界处。
例如:精确查找单词hello的正则表达式可以这样写:\bhello\b
^ 是正则表达式中的一个元字符,代表匹配字符串的开始。
$ 也是正则表达式中的一个元字符,代表匹配字符串的结束。
例如:
.在正则表达式中也是一个元字符,匹配除了换行符以外的任意字符。
*在正则表达式中也是一个元字符,它是指*前边的内容可以连续重复出现任意次数。
例如:查找单词hello且后边的包含world(两个单词之间包含其他字符),正则表达式:\bhello\b.*\bworld\b
\d在正则表达式中也是一个元字符,匹配一位数字。
{n}代表{}前面的字符必须连续重复出现n次。
例如:手机号码的正则表达式:1\d{10}
{n,}代表{}前面的字符必须重复出现n次,或更多次。
{n,m}代表{}前面的字符必须连续重复出现n到m次
例如:输入6到12位的密码:^\w{6,12}$
\s在正则表达式中也是一个元字符,匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
\w在正则表达式中也是一个元字符,匹配任意的字母或数字或下划线等
+在正则表达式中也是一个元字符,它是指+前边的内容必须连续重复>=1次。
?在正则表达式中也是一个元字符,它是指?前边的内容只能连续重复零次或一次。
分支条件:
正则表达式里的分支条件指的是有几种规则,如果满足其中任意一种规则都应该匹配。具体方法是用|把不同的规则分隔开。
例如:\d{5}-\d{4}|\d{5}这个表达式用于匹配美国的邮政编码。美国邮编的规则是5位数字,或者用连字符号间隔的9位数字。
注意:使用分支条件时,要注意各个条件的顺序。如果把它改成\d{5}|\d{5}-\d{4}的话,那么就只能匹配5位的邮编(以及9位邮编的前5位)。原因是匹配分支条件时,将会从左到右地测试每个条件,如果满足了某个分支的话,就不会再去管其他条件了。
反义:
\W 匹配任意不是字符,数字,下划线的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符