我正在尝试从介于<<和>>之间的字符串中提取值。但是它们可能会发生多次。
任何人都可以使用正则表达式来匹配它们吗?
this is a test for <<bob>> who like <<books>> test 2 <<frank>> likes nothing test 3 <<what>> <<on>> <<earth>> <<this>> <<is>> <<too>> <<much>>.
然后,我想foreach GroupCollection以获取所有值。
任何帮助大受好评。谢谢。
使用肯定的正视和断言的后跟来匹配尖括号,使用.*?以匹配这些括号之间尽可能短的字符序列。通过迭代方法MatchCollection返回的值来查找所有值Matches()。
.*?
MatchCollection
Matches()
Regex regex = new Regex("(?<=<<).*?(?=>>)"); foreach (Match match in regex.Matches( "this is a test for <<bob>> who like <<books>>")) { Console.WriteLine(match.Value); }
DotNetFiddle中的LiveDemo