1
A
回答
3
开始做这几样在.NET事物的方法是使用MatchEvaluator参数的所有单词:
string pattern = @"<(\w*)";
string replaced = Regex.Replace(line, pattern,
x => "<" + x.Groups[1].ToString().ToUpper());
这写道:当你发现正规表达,用第一组大写替换它。
+0
会使用'Groups [0]'更多作为一般方法适当?有些正则表达式在它们中没有分组。 – 2010-11-09 01:45:28
1
你的Perl代码中有一些错误。在Perl和.NET正则表达式中,\(
和\)
与文字字符(
和)
相匹配;要将括号用作分组操作符,请将反斜杠关闭。另外,\u
不是小写匹配,它titlecases(通常与大写相同)接下来的字符。你在想什么是\L
,它会将所有字符缩小到字符串末尾或\E
,以先到者为准。
在Perl,\U
,\L
和如不是一个真正的正则表达式的功能,他们是一个字符串的功能,如比较常见的转义序列:\n
,\t
等。他们在冗余正则表达式文档上市因为它们在正则表达式替换中特别有用。 C#没有等效对他们来说,无论是在字符串文字或正则表达式类,但作为@steinar指出的,它确实有MatchEvaluator和(因为.NET 3.0)lambda表达式:
string s = "ABC<XYZ!";
Console.WriteLine(Regex.Replace(s, @"<(\w+)", m => m.Value.ToLower()));
输出:
ABC<xyz!
编辑:括号在我的例子中并不是真的需要,但我留下来证明它们作为分组操作符的正确用法。我也将原来的\w*
更改为\w+
;当你唯一的目标是改变单词字符的情况时,没有与零字符匹配的点。
相关问题
- 1. 正则表达式小写
- 2. 正则表达式大写到小写
- 3. 正则表达式正则表达式正则表达式使用正则表达式,但不是与Python
- 4. 正则表达式(正则表达式)
- 5. 正则表达式(正则表达式)
- 6. .NET正则表达式多行帮助 - 正则表达式
- 7. .Net正则表达式(正则表达式)
- 8. 写正则表达式表达的java
- 9. .NET正则表达式 - 块'%'
- 10. .NET正则表达式
- 11. 在.NET正则表达式
- 12. 的.htaccess重写正则表达式的正则表达式
- 13. 小写正则表达式url
- 14. JavaScript的正则表达式从小写
- 15. 用正则表达式计算小写
- 16. 正则表达式区分大小写
- 17. 编写正则表达式
- 18. 撰写正则表达式?
- 19. 写入正则表达式
- 20. 小vim正则表达式
- 21. 正则表达式表达
- 22. 正则表达式表达
- 23. PHP-MySQLi替换为正则表达式/正则表达式/正则表达式
- 24. 正则表达式正则表达式返回的值正则表达式
- 25. 正则表达式正则表达式模仿正则表达式
- 26. 检查表达式是否与正则表达式匹配
- 27. 正则表达式否定
- 28. 否定正则表达式
- 29. 正则表达式 - 它们是相同的正则表达式?
- 30. 没有正则表达式库的简单正则表达式?
[C#中的正则表达式大写替换]的可能的重复(http://stackoverflow.com/questions/205382/regular-expression-uppercase-replacement-in-c) – bzlm 2010-11-08 23:27:53