2013-05-09 51 views
1

我终于习惯了正则表达式,我在日常工作中使用它。它为我节省了大量时间,并且获得了我所输入的内容。问题在于,有时候,我不知道我输入了什么,或者为什么它以这种方式工作。在正式文本中替换正则表达式尴尬

我使用了分组,通过列表排序时,这是非常有用的,转储,yardwork等圆括号工作,但我已经打了一些基本的东西,我不明白

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

([a-z]) 

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

\1\n 

这也是有用的奇迹。简单而有效。但现在出现了我的困惑。如何在每个字符之后直接添加一个字符? 即

输入:

john 

输出:

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

而且非常有趣的一个:

j1 
o1 
h1 
n1 

我已经尝试使用

(\1)1\n 

,输出:

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

如何做到这一点?

+0

你想做什么?我已经阅读过你的问题两次,但仍不完全确定。 – Neolisk 2013-05-09 21:15:02

回答

0

我回答我自己的问题

\11\n 

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

+0

大多数支持RE的语言只允许最多9个反向引用(\ 1到\ 9)。反向引用\ 0或&特别之处在于它是您的整个搜索字符串。 – 2013-05-09 21:19:59