我正在用JavaScript编写一个简单的语法高亮器,需要找到一种同时测试多个正则表达式的方法。
我的想法是找出哪个先匹配成功,以确定要查找的新表达式集。
这些表达式可能是这样的:
/<%@/
, /<%--/
, /<!--/
和 /<[a-z:-]/
起初,我尝试了一种策略,将表达式分组组合,如下:
/(<%@)|(<%--)|(<!--)|(<[a-z:-])/
这样我就可以知道哪个匹配组不是未定义的。但问题是,当某些子表达式包含组或反向引用时会出现问题。
因此,我的问题是:
有人知道在字符串中使用多个正则表达式查找匹配的好方法吗?