流行网站开发框架,服装网站建设策划案,深圳app开发红孩儿,中国最好的猎头公司一、exec()
1.概述#xff1a;
exec()方法测试字符串中的匹配项。该方法是通用的匹配模式。如果找到匹配项#xff0c;则返回结果数组#xff0c;否则返回 null。
2.语法
/*** exec方法说明* param {String} string 必需。要搜索的字符串。* return {Array||Object} r…一、exec()
1.概述
exec()方法测试字符串中的匹配项。该方法是通用的匹配模式。如果找到匹配项则返回结果数组否则返回 null。
2.语法
/*** exec方法说明* param {String} string 必需。要搜索的字符串。* return {Array||Object} result 如果找到匹配则包含匹配文本的数组否则返回 null。*/
let result regexp.exec(string)
3.实战
let text Hello,world
// 查找 Hello
console.log(/Hello/.exec(text),/Hello/.exec(text))
// 查找 practice
console.log(/practice/.exec(text),/practice/.exec(text))
// /Hello/.exec(text) [ Hello, index: 0, input: Hello world!, groups: undefined ]
// /practice/.exec(text) null
4.详细说明
在所有的 RegExp 模式匹配方法 String 模式匹配方法中exec() 的功能最强大。它是一个通用的方法使用起来比 RegExp.test()、String.replace() 和 String.match() 都复杂。 exec() 将检索字符串 string从中得到与正则表达式 regexp 相匹配的文本。如果 exec() 找到了匹配的文本它就会返回一个结果数组。否则返回 null。这个返回数组的第 0 个元素就是与表达式相匹配的文本。第 1 个元素是与 regexp 的第一个子表达式相匹配的文本如果存在。第 2 个元素是与 regexp 的第二个子表达式相匹配的文本以此类推。通常数组的 length 属性声明的是数组中的元素个数。除了数组元素和 length 属性之外exec() 还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性指的就是 string。在调用非全局 RegExp 对象的 exec() 方法时返回的数组与调用方法 String.match() 返回的方法相同。 在调用非全局模式的 exec() 方法时它将进行检索并返回上述结果。不过当 regexp 是一个全局正则表达式时exec() 的行为就稍微复杂一些。它在 regexp 的属性 lastIndex 指定的字符处开始检索字符串 string 。当它找到了与表达式相匹配的文本时在匹配之后它将把 regexp 的 lastIndex 属性设置为匹配文本的第一个字符的位置。这就是说可以通过反复地调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时它将返回 null并且把属性 lastIndex 重置为 0 。如果在另一个字符串中完成了一次模式匹配之后要开始检索新的字符串就必须手动地把 lastIndex 属性重置为 0 。 注意无论 regexp 是否是全局模式exec() 都会将完整的细节添加到它返回的数组中。这就是 exec() 和 String.match() 的不同之处后者在全局模式下返回的信息要少得多。事实上在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。
二、test()
1.概述
test() 方法测试字符串中的匹配项。如果找到匹配项则返回 true否则返回 false。
2.语法
/*** test方法说明* param {String} string 必需。要搜索的字符串。* return {Boolean} result 如果找到匹配项则返回 true否则返回 false。*/
let result regexp.test(string)
3.实战
// 字符串
let text Hello world!;
// 查找 Hello
console.log(/Hello/g.test(text):,/Hello/g.test(text))
// 查找 practice
console.log(/practice/g.test(text):,/practice/g.test(text))
// /Hello/g.test(text): true
// /practice/g.test(text): false
4.详细说明
RegExp 对象的 test() 方法检测字符串是否匹配某个模式。 test() 方法将检测字符串 string看它是否含有与 regexp 相匹配的文本。如果 string 中含有这样的文本该方法将返回 true否则返回 false。 调用 RegExp 对象 r 的 test() 方法并为它传递字符串 s与这个表示式是等价的(r.exec(s) ! null)。
ps正则表达式搜索方法
在 JavaScript 中正则表达式文本搜索可以用不同的方法完成。使用模式pattern作为正则表达式以下是最常用的方法
举例 描述text.match(pattern)字符串方法 match()text.search(pattern) 字符串方法 search()pattern.exec(text)RexExp 方法 exec()pattern.test(text)RexExp 方法 test()
三、eval()
1.概述
eval() 函数计算或执行参数。如果参数是表达式则 eval() 计算表达式。如果参数是一个或多个 JavaScript 语句则 eval() 执行这些语句。
2.语法
/*** eval方法说明* param {String} string JavaScript 表达式、变量、语句或语句序列。* return {} result 返回执行JavaScript后的结果。*/
let result eval(string)3.实战
let string 67
let function1 (function(){console.log(123)})()
console.log(eval(string)) //13
eval(function1) //123