8
A
回答
7
给该组的标签名称:
(?<TagName>.*)
我绝对认为这是很好的做法。考虑一下当你改变正则表达式时会发生什么。如果您使用索引来提取数据,那么这些组的顺序可能会改变。通过命名它们,您可以精确地指定您认为该组包含的数据,因此它也是一种自我文档形式。
1
2
正如其他人指出语法(?<GroupName>....)
。
下面是一个例子演示如何创建一个名为Key
组,一组名为Value
,而同样重要(但常常忘记了) - 如何提取由名称组从最终匹配的对象:
string s = "foo=bar/baz=qux";
Regex regex = new Regex(@"(?<Key>\w+)=(?<Value>\w+)");
foreach (Match match in regex.Matches(s))
{
Console.WriteLine("Key = {0}, Value = {1}",
match.Groups["Key"].Value,
match.Groups["Value"].Value);
}
我通常不会为非常简单的表达式使用命名组,例如,如果只有一个组。
对于包含复杂表达式的许多组的更复杂的正则表达式,使用命名组可能是个好主意。另一方面,如果您的正则表达式太复杂以至于您需要这样做,那么可能是是一个好主意,以查看您是否可以用另一种方式解决问题,或将其分解为更小,更简单的步骤。
相关问题
- 1. 迭代正则表达式命名组
- 2. 正则表达式中的命名组
- 3. ANTLR还是正则表达式?
- 4. Python - 解码还是正则表达式?
- 5. 什么是好的正则表达式?
- 6. 多表好还是坏?
- 7. 组合正则表达式和PHP还是不行
- 8. 正则表达式正则表达式正则表达式使用正则表达式,但不是与Python
- 9. 正则表达式是简单的文本还是规则?
- 10. 正则表达式在VBA中的命名组
- 11. 提升正则表达式。两部分命名组
- 12. 正则表达式 - 索引/阵列命名的捕获组?
- 13. 如何在C#.NET正则表达式中捕获命名组?
- 14. 正则表达式:命名组和替换
- 15. Matlab正则表达式用命名标记捕获组
- 16. 在Python中动态命名组正则表达式
- 17. 如何使正则表达式只捕获命名组
- 18. python,正则表达式,命名组和“逻辑或”运算符
- 19. 正则表达式在Delphi中命名捕获组XE
- 20. 如何正则表达式替换命名组
- 21. Golang正则表达式命名组和子匹配
- 22. 斯卡拉正则表达式命名捕获组
- 23. 在.NET中使用命名组正则表达式
- 24. 如何命名正则表达式中的结果组? (.Net)
- 25. c#正则表达式 - 在命名组之后匹配optionals
- 26. 在JavaScript正则表达式中命名捕获组?
- 27. 正则表达式命名组问题C#
- 28. .NET中的命名捕获组的正则表达式模式是什么?
- 29. Perl:这是好的还是坏的正则表达式,以及如何改进它?
- 30. 正则表达式(正则表达式)
另一种语法是'(?'TagName'。*)'。 – 2010-01-22 22:27:16
非常感谢您的回答。我不知道为什么我认为这会很糟糕。 – Payne 2010-01-22 22:36:18