我终于对正则表达式感到满意,我在日常工作中使用它。它节省了我很多时间,而且我得到了我所输入的内容。问题在于,有时候,我不知道我输入了什么或为什么它以这种方式工作。
我正在使用圆括号进行分组,这在对列表,转储,码头等进行排序时非常有用。但是我遇到了一些我不理解的基本内容
假设我有一个简单的查询,例如单独查找特定的字符组:
([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
我如何做到这一点?
答案 0 :(得分:1)
我认为要搜索的关键字是"命名捕获组"用于反向引用。 http://www.regular-expressions.info/named.html
对于您正在描述的确切用例,他们可能只做\ 0到\ 9。
答案 1 :(得分:0)
我回答了我自己的问题
\11\n
确实给了我想要的结果。但为什么?不应该\ 11反向引用#11?