初识正则表达式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式的使用,可以通过简单的办法来实现强大的功能。下面先给出一个例子:^[0-9]+abc$
·^为匹配输入字符串的开始位置。
·[0-9]表示匹配多个数字,[0-9]匹配单个数字,+匹配一个或多个
·abc匹配abc字母并以abc结尾,$为匹配输入字符串的结束位置。
var str = "123132132132abc"; var patt1 = /^[0-9]+abc$/; document.write(str.match(patt1)); 123132132132abcm |
如上所示,给定一个正则表达式和另一个字符串,我们可以得到一些信息:
1、给定的字符串是否符合正则表达式的过滤逻辑。
2、可以通过正则表达式,从字符串中获得我们需要的部分。
在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。要想用好正则表达式,正确的理解字符所代表的含义是非常重要的,在表达式中,如果直接给出字符,则是精确匹配。用\d匹配一个数字,\w可以匹配一个字母或者数字,所以:
'00\d'可以匹配'007',但无法匹配'00A';
'\d\d\d'可以匹配'010';
'\w\w\d'可以匹配'py3';
.可以匹配任意字符。要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符。
正则表达式的逻辑性、灵活性和功能性非常强大,可以迅速地用极简单的方式达到字符串的控制,但是对于刚接触的人来说比较难懂。正则表达式非常强大,如果有需要,可以参看一本正则表达式的参考书。