gpt4 book ai didi

c# - .NET 正则表达式 : negate previous character for the first character in string

转载 作者:太空狗 更新时间:2023-10-30 01:23:31 26 4
gpt4 key购买 nike

考虑以下字符串

"Some" string with "quotes" and \"pre-slashed\" quotes

使用正则表达式,我想找到所有前面没有斜杠的双引号。所以我希望正则表达式为例句找到四个匹配项这....

[^\\]"

...只会找到其中三个。我想这是因为正则表达式的状态机首先验证命令以否定斜杠的存在。

这意味着我需要编写一个带有某种回顾的正则表达式,但我不知道如何使用这些前瞻和回顾...我什至不确定这就是我要找的东西。

以下尝试返回 6 个,而不是 4 个匹配...

"(?<!\\)

最佳答案

"(?<!\\")

是你要找的

如果你想匹配“Some”和“quotes”,那么

(?<!\\")(?!\\")"[a-zA-Z0-9]*"

会做

解释:

  • (?<!\\") - 负面回顾。在你的主表达式之前指定一个不能匹配的组
  • (?!\\") - 负前瞻。在你的主表达式之后指定一个不能匹配的组
  • "[a-zA-Z0-9]*" - 在正则引号之间匹配的字符串

这意味着 - 匹配任何不带有\"before 和\"after 的东西,but 包含在双引号内

关于c# - .NET 正则表达式 : negate previous character for the first character in string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11081750/

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