gpt4 book ai didi

javascript 正则表达式匹配单引号、双引号和正则表达式斜杠之间的任何内容

转载 作者:行者123 更新时间:2023-11-28 08:36:12 25 4
gpt4 key购买 nike

我试图匹配双引号、单引号或正则表达式斜杠之间的任何内容,基本上是 JavaScript 未将其标记为字符串或正则表达式的任何内容。到目前为止我想出的是:

/"[^\\"\n]*(\\"[^\\"\n]*)*"|'[^\\'\n]*(\\'[^\\'\n]*)*'|\/[^\\\/\n]*(\\\/[^\\\/\n]*)*\//

但是正如您所看到的,这存在一些问题 here

http://goo.gl/4Yn9pR

基本上这不应该匹配 1+2/3+4/5 因为它不是正则表达式。还有
Dont match "Match here\\"Dont match" 应匹配第一部分而不是第二部分(对于单引号和正则表达式也是如此)

这应该怎么写?

编辑:如果无法区分 1+2/3+4/5/*comment*//regex/ > 使用正则表达式,我如何解决不匹配“此处匹配\\”不匹配”问题

最佳答案

刚刚想通了。我非常接近。解决办法如下:

/"[^\\"\n]*(\\["\\][^\\"\n]*)*"|'[^\\'\n]*(\\['\\][^\\'\n]*)*'|\/[^\\\/\n]*(\\[\/\\][^\\\/\n]*)*\//

DEMO

它与 thg435 答案非常相似,但我认为它的性能更高一点,因为它不会回溯太多

我缺少的是在寻找转义引号时,我也应该寻找转义反斜杠,所以我将 \\" 更改为 \\["\\] 与 thg435 的答案相反,thg435 的答案查看反斜杠之后的任何内容,虽然有效,但可以使用正则表达式引擎中的更多状态

关于javascript 正则表达式匹配单引号、双引号和正则表达式斜杠之间的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com