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