gpt4 book ai didi

Javascript:负向后查找的等效正则表达式?

转载 作者:行者123 更新时间:2023-12-03 11:35:05 25 4
gpt4 key购买 nike

我想编写一个正则表达式来捕获字符串中的所有双引号 ",除了转义的双引号。

例如,下面的字符串将仅返回第一个引号:

"HELLO\"\"\"

但以下将返回 3 个匹配项:

"HELLO\"\""\""

我使用了以下表达式,但由于在 JavaScript 中没有负向后查找,我陷入了困境:

(?<!\\)"

我看过类似的问题,但大多数都提供了编程接口(interface)。我不想使用编程接口(interface),因为我使用的是 Ace 编辑器,解决我的问题的最简单方法是定义这个正则表达式。

我想没有通用的替代方案,因为我已经尝试了针对类似问题提出的替代方案,但没有一个完全符合我的情况。

感谢您的回答!

最佳答案

您可以使用此解决方法:

(^|[^\\])"

" 仅当前面有除 \ 或字符串开头 (^) 之外的任何字符时。

但要小心,这匹配两个字符:" 和前面的字符(除非在字符串开头的情况下)。换句话说,如果您不想替换例如,' 的所有这些 ",您需要:

theString.replace(/(^|[^\\])"/g, "$1'")

关于Javascript:负向后查找的等效正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26550021/

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