在我使用的代码中,(r' ', ' '),
更改为a a a a(r' a', a' a'),
,而它应该更改为(r' a', ' '),
。有什么更自然的方法来做这件事?如何使用re.sub
进行此操作?在
当前代码,请参见here
for key, value in newgroupdict.items():
try:
newstr = newstr.replace(re.search(e, line).group(key), value)
except:
pass
示例:
^{pr2}$
{1美元^
Tags:
使用regexp可以实现这一点有很多种方法,下面是一种:
我不是一个好老师,而且正则表达式很难理解,但我还是会把这一点分解给您:
(
打开组\1
,在这个和)
之间发现的任何东西都在\1
组中[^']
匹配除'
之外的任何字符+
表示前一个字符类([^']
)可以重复'
将匹配'
'
以补偿1中被替换的'
\1
组,从2开始。到4.,所有非'
字符'
以补偿模式regexp中的最后一个'
请随意尝试一下,去掉count参数之类的东西。但在某个时刻,您将有来学习regexp,因此您应该将其视为阅读the holy manual的好机会。了解regexp将使您成为一个更好的程序员,并使您能够控制文本数据。在
相关问题 更多 >
编程相关推荐