【问题标题】:Regex to detect JavaScript Regex正则表达式检测 JavaScript 正则表达式
【发布时间】:2014-05-14 04:25:12
【问题描述】:

我正在尝试编写一个正则表达式来检测 javascript 文件中的正则表达式。我花了一些时间,这就是我想出的:

\/.*?\/[a-zA-Z]?

这很好用:

/^[^0-9][2,3]$/
/^[a-z]+( +[a-z]+){2,}$/g

但是它失败了:

/\/.*?\/[a-zA-Z]?/g

为了阐明我的目标,我将使用这个正则表达式来检测 JavaScript 代码中的正则表达式并对它们进行颜色编码。

【问题讨论】:

  • 如果我执行/abcd\/abcd/ 会发生什么?您的正则表达式将失败。

标签: javascript regex parsing


【解决方案1】:

您还应该检查/ 前面是否有\ 以确保它没有被转义:

(?<!\\)\/.*?(?<!\\)\/[a-zA-Z]?

DEMO

【讨论】:

  • 这会处理正则表达式字符串的所有情况吗?
  • @Pathachiever11,我相当有信心它会。如果您愿意,可以在我发布的演示中对其进行测试。
  • 它正在处理正则表达式,除了它无法检测到 var replace = string.replace(/\/.*?\/[a-zA-Z]?/g, "ss") 中的 JS
  • 如果将我写的脚本粘贴到文本框中,正则表达式不会突出显示。
猜你喜欢
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
相关资源
最近更新 更多