gpt4 book ai didi

c# - 正则表达式在没有被引号包围时使用空格拆分字符串在 refiddle 中有效,但在 C# 中无效

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

我正在使用我在 this similar question 中找到的 followin RegEx : /[^\s"]+|"[^"]*"/g

我想用空格分割字符串,除非字符串用双引号引起来。结果中必须包含引号。

这是我的 C# 代码:

MatchCollection conditions = Regex.Matches(strCondition, @"/[^\s""]+|""[^""]*""/g"); 

conditions.Count 始终为零!当我在 http://refiddle.com/ 中测试正则表达式时, 它有效!

示例输入:

"0" MATCHES NOCASE "Den Bosch"  OR "0" MATCHES NOCASE "'s Hertogenbosch"

"0" MATCHES "1" AND "1" MATCHES "2" AND "2" MATCHES "3" AND "3" MATCHES "4" AND "4" MATCHES "5"

我做错了什么?我浪费了好几个小时,再也没有头绪了。

这个:(?<=")\w[\w\s]*(?=")|\w+|"[\w\s]*"在我的案例中确实给出了结果,但没有给出所需的结果,因为它在单引号上失败了。

最佳答案

.NET 中的正则表达式不使用 / 分隔符,因此:

MatchCollection conditions = Regex.Matches(strCondition, @"[^\s""]+|""[^""]*"""); 

关于c# - 正则表达式在没有被引号包围时使用空格拆分字符串在 refiddle 中有效,但在 C# 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477280/

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