正则表达式
今天闲来无聊,就来说说正则表达式吧。
在这里,先给大家看几个符号,混个脸熟。
[ ] \ ^ $ . | ? * + ( )
这里是标准的正则表达式的规则:
分隔符、表达式和修饰符
现在来分别解释一下他们的含义:
分隔符用来包裹表达式,可以是除了特殊字符以外的任何字符,常用的分隔符是'/'。表达式是由一些特殊字符和非特殊字符组成,即为元字符和文本字符。比如[a-z0-9_-]+@[a-z0-9_-.]+是一个合法的表达式,可以匹配一个简单的电子邮件字符串。修饰符用来开启或者关闭某种功能或模式。
/mo.+love.*?lin/is
再这个正则表达式中,'/'就是分隔符,两个'/'之间的就是表达式,第二个/后边的is就是修饰符。
在正则表达式中有12个字符作为保留字,也就是上边的那12个,用于特殊用途。如果文本中有需要匹配这些字符的,在其前应该加上一个\。例如,要匹配字符串'1+2=3',则应使用如下正则表达式
/1\+1=2/
原因很简单,因为+是特殊字符,需要进行转义。
看看这个例子:
/[mo]/
它正在匹配m或o字符
/[Ll]ove/
要注意,字符集中字符的顺序并不会影响匹配的结果。eg;在[xjtu]、[jtux]和[tuxj]中三者表达的意思和实际作用是一样的。
另外,还可以使用连字符'-'定义一个字符范围作为字符集
eg:[0-9]
同时,这种方法还可以和单个字符结合起来使用,看事例:
/[0-9ab]/
同时,我们还可以通过字符集来取反,方法是:/[^0-9]/
表示所有不是数字的字符