好的,所以我试图在记事本++ 中对第 9 个反向引用进行分组。 wiki 说我可以使用组命名来超越第 9 个引用。但是,我似乎无法正确使用语法来进行匹配。为了简单起见,我只从两组开始。
样本数据
1000,1000
正则表达式。
(?'a'[0-9]*),([0-9]*)
根据docs我需要执行以下操作。
(?<some name>...), (?'some name'...),(?(some name)...)
Names this group some name.
但是,结果是它找不到我的文本。有什么建议么?
最佳答案
您可以以与 < 10 相同的方式简单地引用组 > 9
即 10 美元是第十组。
对于(天真的)示例:
字符串:
abcdefghijklmnopqrstuvwxyz
正则表达式查找:
(?:a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)
代替:
$10
结果:
kqrstuvwxyz
我的测试是在 Notepad++ v6.1.2 中进行的,并给出了我预期的结果。
更新:这仍然适用于 v7.5.6
SarcasticSully 复活了这个来问这个问题:
"What if you want to replace with the 1st group followed by the character '0'?"
为此,将替换更改为:
$1\x30
替换为组 1 和十六进制字符
30
- 这是一个 0
在ASCII中。
关于regex - 如何在第 9 个反向引用之后对正则表达式进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907440/