JavaScript 如何检测正则表达式?

Posted

技术标签:

【中文标题】JavaScript 如何检测正则表达式?【英文标题】:How does JavaScript detect regular expressions? 【发布时间】:2012-01-10 04:11:05 【问题描述】:

我正在编写一个 JS 解析器,我想知道如何区分正则表达式 (/lookup/g) 和简单除法 (bar/baz/g)。 javascript 用于识别正则表达式的规则是什么?

【问题讨论】:

【参考方案1】:

您想查看 ECMA 规范中的 Section 7.8.5(带注释的版本目前是最新的,但请始终查看 latest PDF from the ECMA)。

请记住,JavaScript 正则表达式不能为空。 //总是是单行注释的开始。还值得一提的是,分号绝对不能在正则表达式之前插入。

切向,一个 JavaScript 正则表达式看起来像 /(?:)/

Further discussion.

【讨论】:

请注意,latest version 中的语法似乎发生了一些变化。 @AndrewMarshall:如果它是 html 格式,我会链接它 - 你知道是否存在吗?谢谢。 是的,这就是为什么我认为你会链接到那个版本。不,不幸的是,我没有。为了完整起见,我只想添加最新版本的链接。 @alex: Here 又是链接。我不小心删除了评论(不要问)。

以上是关于JavaScript 如何检测正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式检测字符串中的 Javascript

JavaScript 正则

如何通过正则表达式检测内容中的任何 URL [重复]

如何将 javascript 正则表达式转换为安全的 Java 正则表达式?

如何检测两个正则表达式在它们可以匹配的字符串中是不是重叠?

如何在javascript中验证正则表达式?