正则表达式

什么是正则表达式?

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码

元字符

image

字符转义

如果你要匹配的文本中包含正则表达式中的元字符,则可一使用“\”来取消转义。

比如匹配“C:\text”则可以使用正则表达式/^C:\\text$/来进行匹配。

重复

image

字符类

你想匹配字符数字以及空白字符是非常简单的。因为你已经知道了与之对象的强大的元字符,但是如果你想匹配一些特定的字符又该怎么办呢?比如匹配每个单词的元音字母(元音字母有a,e,i,o,u)只是我们就可以把它放在一个“【】”里边如[aeiou]这样就可以匹配到所有的元音字母的。再比如匹配一个1到4的数字则可以写成[1-4]。

分之条件

有事你可能想不仅仅只用一种方法进行匹配,可能需要两种或两种以上的匹配方法进行匹配,只要满足任何一种匹配方法就都可以匹配到。只是就需要用到分之条件。比如匹配a-z的小写字母或1-9的数字只要满足任何一种就匹配则可以写成/[a-z]|[0-9]/

分组

有了分之之后我们的正则表达式基本上已经可以匹配到很多的你想要的内容了但是如果你相匹配类似于这种(“a1s1f5”)一个字符加一个数字的组合进行多次匹配是又该怎么做呢?

这是分组就派上的大用场了如/([a-z][0-9]){1,}/这个正则表达式就可以满足你的需求。

注:“(”和“)”也是元字符的一种,是正则表达式中分组的依据“()”中的内容为一组。

反义

image

向后引用

使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。

image

posted @ 2016-05-26 16:23  王哲(真)  阅读(177)  评论(0编辑  收藏  举报