1

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

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

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

([a-z])

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

\1\n

这也能创造奇迹。简单而有效。但现在我的困惑来了。如何在每个字符后直接添加一个?IE

输入:

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

我该如何做到这一点?

4

2 回答 2

1

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

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

于 2013-05-09T18:30:49.217 回答
0

我回答了我自己的问题

\11\n

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

于 2013-05-09T17:56:53.067 回答