在使用的正则表达式中OR
(管道),是否有一种方便的方法来获取匹配的表达式部分。
Example:
/horse|caMel|TORTOISe/i.exec("Camel");
returns Camel
。我想要的是caMel
.
我知道我可以循环遍历选项,而不是使用一个大的正则表达式;这会更有意义。但我很想知道是否可以通过这种方式完成。
很简单,不。
正则表达式匹配与您的输入字符串有关,而不是用于创建正则表达式的文本。请注意,该文本很可能会丢失,而且理论上甚至没有必要。等效的匹配器可以用这样的东西构建:
var test = function(str) {
var text = str.toLowerCase();
return text === "horse" || text === "camel" || text === "tortoise";
};
另一种思考方式是,正则表达式的编译可以将函数的逻辑与其文本表示分离。这是单向的。
Sorry.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)