js中正则表达式语法(JS正则语法问题)

本文目录
JS正则语法问题
test 只返回布尔指,只告诉你舒服存在符号你的表达式
function TestDemo(re, s){
var s1; // 声明变量。
// 检查字符串是否存在正则表达式。
if (re.test(s)) // 测试是否存在。
s1 = “ contains “; // s 包含模式。
else
s1 = “ does not contain “; // s 不包含模式。
return(“’“ + s + “’“ + s1 + “’“+ re.source + “’“); // 返回字符串。
}
exec 返回一个数组,没有则返回NULL
function RegExpTest(){
var ver = Number(ScriptEngineMajorVersion() + “.“ + ScriptEngineMinorVersion())
if (ver 》= 5.5){ // 测试 JScript 的版本。
var src = “The rain in Spain falls mainly in the plain.“;
var re = /\w+/g; // 创建正则表达式模式。
var arr;
while ((arr = re.exec(src)) != null)
document.write(arr.index + “-“ + arr.lastIndex + “\t“ + arr);
}
else{
alert(“请使用 JScript 的更新版本“);
}
}
js正则表达式语法
g是global,全局的意思,比如有一规则是否找到一个就结束,还是要找到所有匹配。
p已经是一个正则式了,可以这样定义:p=/^\d+$/g;然后直接p.test(a);
因为p已经是正则式,所以new RegExp(),不能重复定义是否全局,否则会与p本身定义有冲突。如果new RegExp()带的参数是个字符串, p =’^\\d+$’;则可以加‘g’参数。
js中正则式匹配问题
在JS手册中附带的正则表达式语法介绍中是这么说的:
(?:pattern)
匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 “或“ 字符 (|) 来组合一个模式的各个部分是很有用。例如, ’industr(?:y|ies) 就是一个比 ’industry|industries’ 更简略的表达式。
那么 /^(?:scope|delay)$/ 和 /^(scope|delay)$/ 相比,后者的括号可以获取子匹配,而前者不获取子匹配.

更多文章:
another time(another time和other time的区别)
2026年10月11日 05:00







