如何将正则表达式分组到第9个反向引用之后?

mea*_*nny 32 regex notepad++ regex-group

好的,所以我试图在记事本++中超越第9个反向引用.维基说我可以使用组命名来超过第9个引用.但是,我似乎无法正确地进行匹配.我开始只用两组来简化.

样本数据

1000,1000
Run Code Online (Sandbox Code Playgroud)

正则表达式.

(?'a'[0-9]*),([0-9]*)
Run Code Online (Sandbox Code Playgroud)

根据文档我需要做以下事情.

(?<some name>...), (?'some name'...),(?(some name)...)
Names this group some name.
Run Code Online (Sandbox Code Playgroud)

但结果却是找不到我的文字.有什么建议?

Bun*_*nco 34

您可以以与<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复活了这个问题:

"如果你想用第一组替换后跟字符'0'怎么办?"

要执行此操作,请将替换更改为:

$ 1\X30

哪个替换为组1和十六进制字符30- 这是0ascii中的一个.

  • +1哇,我以为我尝试了所有东西(比如\ 10,\ g10,\ g {10}),但忘记了简单的$替代品. (3认同)
  • 好的,这样做了,在Wiki中记录了该位置,以便将$符号用于组,您甚至是怎么知道的? (2认同)
  • @meanbunny - 好问题!1)[N ++ Regex Substitutions](http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions#Substitutions)2)奇怪的是,我没有从维基中找到它.我只是_did它_...无法解释为什么!猜猜我很幸运. (2认同)