JS 正则表达式大全【2】
about → javascript 2009-02-18 09:46 阅读 145评论 0
字号: 大 中 小
正则表达式是一个描述字符模式的对象。
JavaScript 的 RegExp 对象和 String 对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换
函数的方法.
在 JavaScript 中,正则表达式是由一个 RegExp 对象表示的.当然,可以使用一个 RegExp()构造函数来创建
RegExp 对象,
也可以用 JavaScript 1.2 中的新添加的一个特殊语法来创建 RegExp 对象.就像字符串直接量被定义为包含
在引号内的字符一样,
正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript 可能会包含如下的代码:
var pattern = /s$/;
这行代码创建一个新的 RegExp 对象,并将它赋给变量 parttern.这个特殊的 RegExp 对象和所有以字
母"s"结尾的字符串都匹配.用 RegExp()也可以定义
一个等价的正则表达式,代码如下:
var pattern = new RegExp("s$");
无论是用正则表达式直接量还是用构造函数 RegExp(),创建一个 RegExp 对象都是比较容易的.较为困难的
任务是用正则表达式语法来描述字符的模式.
JavaScript 采用的是 Perl 语言正则表达式语法的一个相当完整的子集.
正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意
思进行匹配的字符.这样说来,正则表达式/java/就和
所有包含子串 "java" 的字符串相匹配.虽然正则表达式中的其它字符不是按照字面意思进行匹配的,但它们
都具有特殊的意义.正则表达式 /s$/ 包含两个字符.
第一个特殊字符 "s" 是按照字面意思与自身相匹配.第二个字符 "$" 是一个特殊字符,它所匹配的是字符串的
结尾.所以正则表达式 /s$/ 匹配的就是以字母 "s" 结尾
的字符串.
1.直接量字符
我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript 的
正则表达式还通过以反斜杠(\)开头的转义序列支持某些非
字母字符.例如,序列 "" 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都有特殊
的含义.下面是这些字符和它们的含义: