正则表达式
创建一个正则表达式
你可以通过下面两种方法创建一个正则表达式:
使用一个正则表达式字面量,如下所示:
|
|
正则表达式字面量在脚本加载后编译。若你的正则表达式是常量,使用这种方式可以获得更好的性能。
调用RegExp
对象的构造函数,如下所示:
|
|
使用构造函数,提供了对正则表达式运行时的编译。当你知道正则表达式的模式会发生改变, 或者你事先并不了解它的模式或者是从其他地方(比如用户的输入),得到的代码这时比较适合用构造函数的方式。
正则表达式支持的字符转义
字符或序列 | 描述 | |
---|---|---|
除以下字符外的所有字符:。 $ ^ { [ ( \ | ) * + ? \ | “字符或序列”列中未包含的字符在正则表达式中没有特殊含义;此类字符与自身匹配。“字符或序列”列中包括的字符均为特殊的正则表达式语言元素。 若要在正则表达式中匹配这些字符,必须将其转义或纳入 ppositive 字符组.aspx)。 例如,正则表达式 \$\d+ 或 [$]\d+ 匹配“$1200”。 |
\a |
匹配响铃(警报)字符,\u0007 。 |
|
\b |
在 [ character_group] 字符类中,匹配退格,\u0008 。 (请参阅字符类.aspx)。) 在字符类之外,\b 是匹配字边界的定位点。 (请参阅定位点.aspx)。) |
|
\t |
匹配制表符,\u0009 。 |
|
\r |
匹配回车,\u000D 。 请注意,\r 不等同于换行符,\n 。 |
|
\v |
匹配垂直制表符,\u000B 。 |
|
\f |
匹配换页,\u000C 。 |
|
\n |
匹配换行,\u000A 。 |
|
\e |
匹配转义,\u001B 。 |
|
\ nnn |
匹配 ASCII 字符,其中 nnn 包含表示八进制字符代码的两位数或三位数。 例如,\040 表示空格字符。 如果此构造仅包含一个数字(如 \2 )或者它对应捕获组的编号,则将它解释为向后引用。 (请参阅反向引用构造.aspx)。) |
|
\x nn |
匹配 ASCII 字符,其中 nn 是两位数的十六进制字符代码。 | |
\c X |
匹配 ASCII 控制字符,其中 X 是控制字符的字母。 例如,\cC 为 CTRL-C。 |
|
\u nnnn |
匹配的 UTF-16 代码单元,单元值是 nnnn 十六进制。 Note: .NET Framework 不支持用于指定 Unicode 的 Perl 5 字符转义。 Perl 5 字符转义采用以下格式 \x{ ####…} ,其中 ####… 是一系列十六进制数字。 改用 \u nnnn。 |
|
\ |
后接字符未识别为转义字符时,将匹配此字符。 例如,\* 匹配星号 (*) 并等同于 \x2A 。 |
RegExp对象方法:
- exec
- test
String内置构造函数方法:
- match
- search
- replace
- split
####列举日常使用的正则表达式匹配:
匹配url参数:key需要传入
1/[?&]"+ key +"=([^&]*)/匹配邮箱:
1/^[a-zA-Z0-9][a-zA-Z0-9._-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/身份证
1/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$/html标签
1/<[^>]+>/ or /<[a-z|/|A-Z]+>/