Regex.Matches返回零结果
本文关键字:结果 返回 Matches Regex | 更新日期: 2023-09-27 18:26:39
我很确定我在这里做错了什么,但我不能指出问题所在。
我的C#代码中有这一行:
string match = "Test - Wow";
MatchCollection contact = Regex.Matches(match, "-");
//Expected output in contact : contact[0]=="Test " & contact[1]==" Wow" ;
但由于某种原因,联系人返回为空,这意味着与"-"
不匹配。我甚至尝试过@"-"
、"(-)"
、"(-)*"
、"[-]"
、"([-]*)"
,但都不起作用。我做错了什么?
不,不是。它工作正常!
string match = "Test - Wow";
MatchCollection contact = Regex.Matches(match, "-");
int count = contact.Count; // returns 1
Match onematch = contact[0];
string str = onematch.ToString(); // returns -
在此处测试http://ideone.com/LWTQWn
如果您想要一个正则表达式,它将在存在-
的情况下返回所有字符串,那么像这样的.*-.*
将执行(任意数量的任何字符,一个-,任意数量的任意字符)
- 是Regex的保留字符。您需要"-"(斜线-减号)。将找到的是"-"。当你想找到Test和Wow时,你必须使用Regex.Splitt()函数
此任务不需要regex。最好使用split函数。
"Test - Wow".Split('-').Select(x => x.Trim())