评估正则表达式的正则表达式
这个问题在这里已经有了答案:
简短的回答:也许。
较长的回答:如果你想要,它会变得更加复杂。 更何况,正则表达式有许多不同的风格,并且(取决于您想要验证这些表达式的深度),您需要选择要验证的风味。 此外,一些正则表达式的风格不够强大,不足以完成这个表达式需要做的一些更难的事情。
建议的答案:不要使用正则表达式,但要获得所使用的任何编程语言的内部能力。 换句话说,只要尝试使用表达式,并注意发生异常(或任何其他故障)。
例如,在Javascript中:
function isRegexValid(expression) {
try {
new RegExp(expression);
return true;
} catch(e) {
return false;
}
}
console.log(isRegexValid('(.*?)')); // true
console.log(isRegexValid('(.?+')); // false
例如,在PHP中:
function isRegexValid($expression) {
return preg_match($expression, '') !== false;
}
var_dump(isRegexValid('/(.*?)/')); // true
var_dump(isRegexValid('/(.?+/')); // false
链接地址: http://www.djcxy.com/p/76737.html