regex - 如何在第 9 个反向引用之后对正则表达式进行分组?

标签 regex notepad++ regex-group

好的,所以我试图在记事本++ 中对第 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/

相关文章:

php - notepad++ 中的输出窗口

用于匹配特定电话号码的正则表达式

python - 如何使用 python 从包含括号的字符串中提取子字符串?

python - 标题大小写的正则表达式 - Python

javascript - 字符串上的多个正则表达式

regex - Notepad++ : Insert blank new line after match of some string

configuration - notepad++ 用户定义的折叠区域

python - R中的正则表达式命名组

regex - 根据列号应用面部颜色

javascript - 捕获单个组中字符串中的连续非字母数字字符