Javascript正则表达式的简明总结

Javascript正则表达式的简明总结
1。定义正则表达式的一种方法

定义正则表达式有两种方法:构造函数定义和正则表达式的直接定义:
复制代码如下:var REG1 = new RegExp( D { 5, 11 }); / /构造函数的定义
VaR REG2 = / D { 5, 12 } / / /定义;通过直接测量

正则表达式
◎O:NUL字符( u0000)
◎T:制表符( u0009)
:路线( u000a)
V:垂直制表符( u000b)
F:进纸( u000c)
◎R:回车( u000d)
西宁:拉丁字符由十六个指定数字神经网络,例如, x0a相当于
%uxxxx:Unicode字符由十六个指定的号码XXXX,如 u0009相当于 T
◎CX:控制字符^ X,例如, CJ相当于一个换行符
正则表达式锚字符
^:匹配一个字符串匹配和多行搜索一行的开始
合:一个匹配字符串的末尾,在一个多行搜索,匹配一行的结束
匹配一个单词的边界。总之,它是字符 W和W之间的位置,或位置的字符 w的开始或结束的字符串之间({ b }与退格字符)。
:匹配非单词边界的位置。
零宽度前向断言要求以下字符与p匹配,但不包括与p匹配的字符。
((p):零宽度负前向断言,以下字符串与p不匹配
正则表达式的字符类
{…}:方括号中的任何字符
{…}:不在括号中的任何字符中
::除了换行符和其他任何字符的Unicode行结束符
◎W:任何字由ASCII字符就相当于{ }
◎W:任何字,不是一个ASCII字符^就相当于{ }
所有Unicode空白
s:任何不是Unicode空白的字符,请注意w和s之间的区别
◎D:任何ASCII码,相当于0-9 } {
◎D:比其他的ASCII码数相当于^ 0-9任意字符} {
{ b }:直接回退量(特殊情况
正则表达式的重复性质文法
{,}:匹配前一项至少n次,但不超过m
{,}:匹配前面的n或更多
{ }:匹配前n次
要匹配前面的项目0或1次,也就是说前一项是可选的,相当于{ 0, 1 }。
+:匹配以前的项目1次或多次,相当于{ 1,}
*:匹配以前的项目0次或多次,相当于{ 0,}
正则表达式的选择、分组和引用字符
|:选择,是该子表达式的子表达式的左侧或右侧的符号
(...): combination, several combination as a unit, the unit can be through *, +, and | symbols to be modified, and can remember the string and the group matched for any subsequent use
(……):只组合,将项目组合到一个单位,但不记得匹配重组的字符。
:和N包首先,特征匹配是在括号内的子表达式组(可能是嵌套),组索引是从左到右和左的数量、形式:(不分组编码
正则表达式修改
i:执行不区分大小写匹配
g:简而言之,要进行全局匹配,找到所有匹配项,在找到第一个匹配后不停止。
m:多行匹配模式,匹配行的开头和字符串的开头,匹配$匹配行的结束和字符串的结束。
模式匹配的字符串方法
搜索():它的参数是一个正则表达式,返回第一个匹配的子字符串的起始位置,并返回1如果没有一个匹配的子字符串。如果搜索参数()不是正则表达式,它将首先通过RegExp构造器转化为正则表达式。搜索()不支持全局搜索,因为它忽略了修饰符g,例如:
复制代码代码如下所示:
var。搜索( I);4
取代():它是用来进行检索和更换。两参数的获得,首先是一个正则表达式,第二是替换字符串。如果正则表达式是由改性剂G、执行全局替换,否则本场比赛的第一个字符串替换,如果第一参数是一个正则表达式,字符串是直接搜索,而不是把它转换成一个正则表达式,如:
复制代码如下:var S取代( / / java GI =Javascript
赛():参数是一个正则表达式,如果它不是通过规则转换,则返回匹配结果的数组。如果改性剂是集,进行全局匹配,如:
复制代码如下:var a州FF 33 HH 77 TT。比赛( / D / / / G);D = 55
分裂():该方法用于拆分字符串调用到一个字符串数组,使用分离器分离参数(),其参数也可以做一个正则表达式等:
复制代码如下:var a '12331453645。分裂(' '); / / D = 123
var a‘21、123, 44, 64、67, 3。分裂( / *,的 / / /);D = 21
二,RegExp对象
每个RegExp对象有5个属性,属性的源是只读字符串包含一个正则表达式的文本,属性全球是一个只读的布尔值指示正则表达式具有改性剂G的属性忽略大小写是只读的布尔值指示正则表达式具有修饰一行是一个属性只读的布尔值,指示是否已修改正则表达式M属性lastIndex是可读可写的整数。如果匹配模式具有g修饰符,则此属性将在整个字符串中存储下一次搜索的开始位置。
有两个方法RegExp对象的exec()的参数是一个字符串。它的功能类似于匹配()。exec()方法执行一个指定的字符串的正则表达式,这是执行字符串中搜索匹配。如果有,返回null没有找到,找到,返回一个数组,该数组的第一个元素包含字符串匹配正则表达式,其余元素均在括号的子表达式匹配的子串,无论正则表达式是改性剂G,将返回相同的数组。当正则表达式对象调用exec()有一个修饰语,它集目前正则表达式对象的lastIndex属性的字符位置下的子串的字符串。当相同的正则表达式调用exec()的第二次,它会从字符串检索的lastIndex道具说明性。如果exec()没有找到任何匹配的结果,它将重置lastIndex 0。如:
复制代码如下:var p = / / g的java;
var text =Javascript比java更有趣!
VAR r;
而(((R = p.exec(文本))!= NULL){
console.log(R,'lastindex:+ p.lastindex);
}
另一种方法是测试(),它的参数是一个字符串,测试()用于检查字符串。如果它包含正则表达式的匹配结果,则返回true,否则返回false:
复制代码如下:var p = / /我java;
p.test('javascript '); / /真的
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部