gpt4 book ai didi

c# - 负向后看,空格数量未知

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:13 25 4
gpt4 key购买 nike

使用 c# 正则表达式,我试图匹配引号中不在括号中的内容,同时忽略任何空格:

"blah" - match
("blah") - no match
( "blah") - no match
( "blah") - no match

我有(未转义):

"(?<=[^(]\s")(.*?)"

它适用于前三个,但我不知道如何处理第一个括号和引号之间的多个空格。在 s 之后使用 + 是相同的结果,使用 * 表示最后两个都匹配。有什么想法吗?

最佳答案

这应该有效:

/(?<![^(\s])\s*"([^"]*)"\s*(?![\s)])/
  • 第一个(?<![^(\s])断言字符串前没有空格或左括号。

  • 然后 \s*将匹配任意数量的空白字符。

  • ("[^"]*")将匹配带引号的字符串,并捕获它的内容。

  • \s*将匹配任意数量的空白字符。

  • 最后,(?![\s)])将断言后面没有空格或右括号。

它们一起确保所有空格都与每个 \s* 匹配, 并且它们没有与括号接壤。

关于c# - 负向后看,空格数量未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/795313/

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