下面是关于“js正则表达式之exec方法讲解”的完整攻略。
exec方法介绍
正则表达式是一个非常重要的知识点,使用正则表达式可以进行文本匹配和替换,exec() 是Regexp对象的一个方法,用于在字符串中执行正则表达式的搜索,并返回包含结果的数组。如果没有找到匹配,它将返回 null。
该方法的语法如下所示:
regexp.exec(str)
其中 regexp 为需要匹配的正则表达式, str 为需要进行匹配的字符串。
这个方法会在字符串中寻找第一个匹配项。如果找到,它将返回匹配项组成的数组,否则返回 null。数组会包含匹配结果和一些其他属性。
exec方法返回值
当exec方法进行匹配时,如果找到匹配项,则返回一个数组,数组的第一个元素是匹配到的字符串,之后的元素是每个括号所匹配到的字符串。
举个例子:
const pattern = /(\d{4})-(\d{2})-(\d{2})/;
const result = pattern.exec("2021-07-26");
console.log(result);
以上代码会输出如下结果:
["2021-07-26", "2021", "07", "26", index: 0, input: "2021-07-26", groups: undefined]
可以看到,返回的数组包含了匹配到的字符串及其每个小括号中的内容,而后面的 index 和 input 表示匹配的字符串在原字符串中的位置和原字符串本身。
exec方法示例
示例一
下面的代码展示了对字符串中所有连续数字的匹配和输出。
const pattern = /\d+/g;
const str = "hello 123 world 456!";
let result = pattern.exec(str);
while(result !== null){
console.log(result[0]);
result = pattern.exec(str);
}
上述代码使用了 /pattern/g 的形式,其中 g 代表全局匹配,即对整个字符串全部匹配。输出结果如下:
123
456
示例二
下面的代码展示了对价格字符串的匹配和提取价格部分。
const pattern = /(\$[0-9]+\.[0-9]{2})/g;
const str = "Apples cost $2.99 and oranges cost $1.99";
let result = pattern.exec(str);
while(result !== null){
console.log(result[0]);
result = pattern.exec(str);
}
上述代码使用了 /pattern/g 的形式,其中 g 代表全局匹配,即对整个字符串全部匹配。输出结果如下:
$2.99
$1.99
以上两个示例展示了 exec 方法的具体用法,希望可以帮助你更好地理解它的使用方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js正则表达式之exec方法讲解 - Python技术站