javascript正则表达式

LogicNebulaPro
• 阅读 2498

RegExp对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
RegExp对象用于规定在文本中检索的内容。

创建RegExp对象有两种方式:
1.直接量语法:/pattern/attributes
示例:var patt1=/w/g
2.创建 RegExp 对象的语法:new RegExp(pattern, attributes);
示例:var patt1=new RegExp("e","g");
注:
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

javascript正则表达式

javascript正则表达式

javascript正则表达式

javascript正则表达式

javascript正则表达式

RegExp对象方法:
1.compile()
compile() 方法用于在脚本执行过程中编译正则表达式。
compile() 方法也可用于改变和重新编译正则表达式。
语法:RegExpObject.compile(regexp,modifier),其中regexp是正则表达式,modifier规定匹配的类型
示例1:

var str="Every man in the world! Every woman on earth!";
patt=/man/g;
str2=str.replace(patt,"person");
document.write(str2+"<br />");
patt=/(wo)?man/g;
patt.compile(patt);
str2=str.replace(patt,"person");
document.write(str2);

输出:
Every person in the world! Every woperson on earth!
Every person in the world! Every person on earth!

示例2:

var str = "abc12456def45646ghi";
var regExp = new RegExp("[a-z]+");
document.writeln( regExp.exec(str) ); // abc
// 更改regExp的正则表达式模式,并进行编译
// 这与下列语句的作用是相同的:regExp = /\d+/;
regExp.compile("\\d+");
document.writeln( regExp.exec(str) ); // 12456

2.exec()
exec() 方法用于检索字符串中的正则表达式的匹配。
语法:RegExpObject.exec(string) 其中string为要检索的字符串
tip:该方法返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
示例1:

var text ="hello w3cschool";
var pattern =/(..)cs(.)/g;
var results=pattern.exec(text);
console.log(results.index);   
console.log(results.input);   
console.log(results[0]);  
console.log(results[1]);   
console.log(results[2]); 

示例2:
引自--http://sentsin.com/web/142.html

var s = "javascript";  // 测试使用的字符串直接量

    var r = /\w/g;    // 匹配模式

    while((a = r.exec(s)) != null){ // 循环执行匹配操作

        alert(a[0] + "\n" + a.index  + "\n" +  r.lastIndex); /* 显示每次匹配操作时返回的结果数组信息*/

    }
    

tiP:当执行全局匹配模式时,exec的行为就略有变化。这时它会定义lastIndex属性,以指定下一次执行匹配时开始检索字符串的位置。在找到了与表达式相匹配的文本之后,exec方法将把正则表达式的lastIndex属性设置为下一次匹配执行的第一个字符的位置。也就是说,可以通过反复地调用exec方法来遍历字符串中的所有匹配文本。当exec再也找不到匹配的文本时,将返回null,并且把属性lastIndex重置为0。

在下面的这个示例中,定义正则表达式直接量,用来匹配字符串s中每个字符。在循环结构的条件表达式中反复执行匹配模式,并将返回结果的值是否为null作为循环条件。当返回值为null时,说明字符串检测完毕。然后,读取返回数组a中包含的匹配子字符串,并调用该数组的属性index和lastIndex,其中index显示当前匹配子字符串的起始位置,而lastIndex属性显示下一次匹配操作的起始位置。

点赞
收藏
评论区
推荐文章
风斗 风斗
4年前
Go 正则表达式
packagemainimport"bytes"import"fmt"import"regexp"funcmain(){//这个测试一个字符串是否符合一个表达式。match,_:regexp.MatchString("p(az)ch","peach")fmt.Println(match)//上面我们是直接使
Easter79 Easter79
4年前
SQL注入 payload 记录
使用REGEXP盲注payloadselectuser()fromuserswhereuser_id1and(select(user)fromuserswhereuser_id1)REGEXP"^adm.";来源https://www.se
Wesley13 Wesley13
4年前
oracle sql 逗号 分割 REGEXP_SUBSTR 函数
1.REGEXP\_SUBSTR函数.这个函数的作用是正则分隔字符串,用法为functionREGEXP\_SUBSTR(string,pattern,position,occurrence,modifier)参数说明:参数1:string待分割字符串;参数2:pattern正则表达式;参数3:position起
Stella981 Stella981
4年前
SQL注入 payload 记录
使用REGEXP盲注payloadselectuser()fromuserswhereuser_id1and(select(user)fromuserswhereuser_id1)REGEXP"^adm.";来源https://www.se
Stella981 Stella981
4年前
JavaScript的 基本数据类型
第一:Javascript对象是第二:Javascript中第三:Javascript的对象是数据;第四:JavaScript中的对象可以简单理解成"名称:值"对(name:value)。名称(name):"名称"部分是一个JavaScript字符串参考https://www
Wesley13 Wesley13
4年前
MYSQL正则表达式
MySQL中使用REGEXP操作符来进行正则表达式匹配。下表中的正则模式可应用于REGEXP操作符中。模式描述^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配'\\n'或'\\r'之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp对象的Mul
Wesley13 Wesley13
4年前
JS中正则表达式
正则表达式的定义js中的正则表达式使用RegExp对象表示,两种创建正则表达式对象的方法直接量定义将表达式包含在斜杠之间varpattern/js/;构造函数定义:使用RegExp()构造函数定义varpatternnewRegExp('js');
Stella981 Stella981
4年前
Python正则表达式精讲
_摘要:_ Python正则表达式精讲一、什么是正则表达式正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:RegularExpression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。Python正则表达式精讲一、什么是正则表达式正则表达式,又称正规表示式、正规表示法、正规表
Stella981 Stella981
4年前
JavaScript基础入门10
JavaScript基础入门10\toc\正则表达式正则表达式(regularexpression)是一个描述字符模式的对象。在JavaScript中,RegExp表示正则对象。在开发的工作当中,我们经常需要使用正则表达式强大的模式匹配、文本检索、以及替换功能。简单的说,
Wesley13 Wesley13
4年前
JajavaScript 正则表达式(RegExp)实用指南 (三)【译】
快速实践指南。用示例理解正则表达式。!(https://oscimg.oschina.net/oscnet/a5941f43308455eaa7bf850f05cbae0262c.jpg)在JavaScript正则表达式(RegExp)实用指南(一)(https://www.oschina.net/action/GoToLink?
小万哥 小万哥
2年前
Python JSON 使用指南:解析和转换数据
JSON是一种用于存储和交换数据的语法。JSON是文本,使用JavaScript对象表示法编写。Python中的JSONPython有一个内置的json包,可用于处理JSON数据。示例:导入json模块:pythonimportjson解析JSON从JSO