在崇高文本中替换正则表达式quandry

时间:2013-05-09 17:54:41

标签: regex replace

我终于对正则表达式感到满意,我在日常工作中使用它。它节省了我很多时间,而且我得到了我所输入的内容。问题在于,有时候,我不知道我输入了什么或为什么它以这种方式工作。

我正在使用圆括号进行分组,这在对列表,转储,码头等进行排序时非常有用。但是我遇到了一些我不理解的基本内容

假设我有一个简单的查询,例如单独查找特定的字符组:

([a-z])

这正是我所需要的。现在,如果我需要将结果分成每个字符一行,我正在使用:

\1\n

这也有奇效。简单而有效。但现在是我的quandry。如何在每个角色后直接添加一个? 即。

输入:

john

输出:

j1
o1
h1
n1

我尝试过使用:

\1 1\n #gives me a space
\11\n  #gives me newlines with a "1" on each line.

非常有趣的一个:

(\1)1\n

输出:

()1
()1
()1
()1
()1

我如何做到这一点?

2 个答案:

答案 0 :(得分:1)

我认为要搜索的关键字是"命名捕获组"用于反向引用。 http://www.regular-expressions.info/named.html

对于您正在描述的确切用例,他们可能只做\ 0到\ 9。

答案 1 :(得分:0)

我回答了我自己的问题

\11\n

确实给了我想要的结果。但为什么?不应该\ 11反向引用#11?