我想创建一个正则表达式来匹配以句点开头的单词。单词可以在一个字符串中存在 N 次。我想确保单词出现在行首、行尾或中间某处。后一部分是我遇到的困难。
这是我到目前为止的位置。
const string pattern = @"(^|(.* ))(?<slickText>\.[a-zA-Z0-9]*)( .*|$)";
public static MatchCollection Find(string input)
{
Regex regex = new Regex(pattern,RegexOptions.IgnoreCase | RegexOptions.Multiline);
MatchCollection collection = regex.Matches(input);
return collection;
}
我的测试模式发现.lee
和.good
. 我的测试模式找不到.bruce
:
static void Main()
{
MatchCollection results = ClassName.Find("a short stump .bruce\r\nand .lee a small tree\r\n.good roots");
foreach (Match item in results)
{
GroupCollection groups = item.Groups;
Console.WriteLine("{0} ", groups["slickText"].Value);
}
System.Diagnostics.Debug.Assert(results.Count > 0);
}