gpt4 book ai didi

C# 正则表达式包含星号

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

我正在尝试拆分以下字符串:"'aaa bbb' 0.05 ccc 3* 20*0.1"

所以元素是:

0: aaa bbb
1: 0.05
2: ccc
3: 3*
4: 20*0.1

然后我想遍历每个结果。以下代码段处理前 3 个元素,但不处理后两个元素:

Regex
.Matches(input, @"(?<match>[-+]?[0-9]*\.?[0-9]+)|(?<match>\w+)|'(?<match>[\w\s]*)'")
.Cast<Match>()
.Select(m => m.Groups["match"].Value)
.ToList()
.ForEach(z => etc...

我应该向正则表达式添加什么,以便将 3* 和 20*0.01 作为单个匹配项返回?

最佳答案

此正则表达式以您想要的方式匹配表达式:

foreach (var s in Regex.Matches("'aaa bbb' 0.05 ccc 3* 20*0.1", @"('[^']*'|\S+)")) {
Console.WriteLine(s);
}

产生这个输出:

'aaa bbb'
0.05
ccc
3*
20*0.1

您需要做的就是检测一个值是否有单引号,并在必要时取消引号。

关于C# 正则表达式包含星号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9500702/

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