我在用 C# 编写正则表达式时遇到问题;它的目的是从给定的字符串中提取所有以“@”开头的单词,以便将它们存储在某种类型的数据结构中。
如果字符串是“The quick @brown fox jumps over the lazy @dog”,我想得到一个包含两个元素的数组:brown 和 dog。它需要正确处理边缘情况。例如,如果它是@@brown,它仍应生成“brown”而不是“@brown”。
请您参考如下方法:
像这样的
C#:
string quick = "The quick @brown fox jumps over the lazy @dog @@dog";
MatchCollection results = Regex.Matches(quick, "@\\w+");
foreach (Match m in results)
{
Literal1.Text += m.Value.Replace("@", "");
}
也会处理您的边缘情况。 (@@dog => 狗)
