有没有可能有某种与regex匹配的正则表达式?
例如,正则表达式将匹配/(.*?)/,但不匹配/(.?+/。
我并不是真的在寻找一个例子(因为我完全不知道它是如何工作的,也不是真的需要一个),但我想看看你能拿出什么作为一个工作的例子。
提前感谢!
发布于 2016-03-29 01:00:08
的简短回答是:也许是。
更长的答案:,,这将会比你想要的复杂得多。更不用说,正则表达式有许多不同的风格(取决于您想要验证这些表达式的深度),您需要选择要验证的风格。此外,正则表达式的某些风格不够健壮,无法完成此表达式需要完成的一些更困难的任务。
建议的答案是:不要使用正则表达式,而要充分利用您正在使用的任何编程语言的内部功能。换句话说,只要尝试使用表达式,并注意异常(或任何其他失败)。
例如,在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('/(.?+/')); // falsehttps://stackoverflow.com/questions/36266790
复制相似问题