【发布时间】:2010-11-19 03:34:19
【问题描述】:
我很难找到解决方案,我很确定正则表达式支持它。我只是想不起正则表达式世界中这个概念的名称。
我需要搜索和替换特定模式的字符串,但模式可能不同,替换需要“记住”它正在替换的内容。
例如,假设我有一个任意字符串:134kshflskj9809hkj
我想用括号括住数字, 所以结果是:(134)kshflskj(9809)hkj
找数字很简单,但是如何包围它们呢?
谁能提供样本或指出正确的方向?
【问题讨论】:
-
您使用什么语言?顺便说一句,这个概念被称为反向引用:regular-expressions.info/brackets.html
-
C#,但故意忽略了这个事实。我很好奇如何使用“通用”正则表达式来做到这一点。感谢反向引用内存慢跑。没错。
-
Regex 与语言无关。对于 Perl 和 .NET 的正则表达式替换字符串的实现,第一组为 1 美元,第二组为 2 美元,依此类推。但该方案在所有实现中并不是一个硬性规定。
-
您可以在这里regexhero.net/tester 尝试工具中的替换功能,如果您需要,它甚至会为您生成必要的 C# 代码。