Sublime Text 2正则表达式与> 9个反向引用匹配

Kar*_*bur 8 regex sublimetext2

我正在尝试捕获字符串中的几个组,并使用正则表达式对它们重新排序.然而,一旦我达到9个以上的反向引用,它们就不会像我预期的那样被替换.

例如:这是一个人为的例子,但它应该说明发生了什么.

Input string: abcdefghij
Find What: ^(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)$
Replace With: \10
Expected output: j
Actual output: a0

我也尝试过:

  Replace With: $10

它代替\10$10插入第十组分组的内容,将第一分组跟随者的内容插入"0".

更新:

这确实可以$10在较新版本的Sublime Text中使用,但使用${10}如下所述的语法会更好.

Jer*_*rry 10

使用:

${10}
Run Code Online (Sandbox Code Playgroud)

我只是尝试过,这对我有用.

我也尝试过使用find:

^(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)$
Run Code Online (Sandbox Code Playgroud)

用...来代替: $10

它奏效了.我正在使用v2.0.2 build 2221.同样的方法\10不起作用,但按照您在问题中描述的方式工作.

值得注意的是,许多正则表达式引擎取而代之的是从\#格式转换为$#格式,这也许就是为什么$#即使没有大括号也能为我做得更好.

虽然现在,如果您想要替换第10次捕获后跟一个数字(例如100美元),引擎将寻找第100个捕获组,对于您的示例,将替换为空.