获取示例字符串:
__________Hello
我想用20 x_
替换以10 x_
开头的线路
期望输出:
____________________Hello
我可以通过多种方式做到这一点,即:
/^(_{10})/11/
/^_{10}/____________________/
/^(__________)/11/
etc...
问题:
正则表达式规范/表达式本身(比如PCRE(或任何正则表达式库/引擎((中是否有的方法来指定字符的替换出现?
例如:
/_{10}/_{20}/
我不知道我是头脑空白,还是从来没有这样做过,但在regex规范文档中似乎找不到任何这样的东西。
这不能在Regex本身中完成。
如果我有输入"39572a4872"
,并且我想用"39572aaaaa4872"
替换它,有很多简单的方法可以实现这一点,其中可以包括正则表达式,但正如Wiktor在评论线程中解释的那样,替换的实际量词本身并不是通过regex实现的。
这似乎并不重要,因为在这个例子中,我可以简单地手动或编程地应用替换5次,但标准化技术的好处之一是在不同的环境、语言甚至程序中应用相同的概念。
正因为如此,我和许多其他人在regex的可移植性方面取得了很大成功。
这个问题是看在正则表达式本身的语法中是否可以为替换字符串指定量词。当然不是。