我有一个正则表达式,但不知道它是什么意思:
>>> import re
>>> re.sub(u'(^| )'0,u'\g<1>null','0fa0a')
我希望它替换字符串的开头,否则空格将为空,但实际什么也不做。
>>> '0fa0a'
组参考指的是什么?我还没有定义组 1。 为什么不取代?
问题出在这里,
re.sub(u'(^| )'0,u'\g<1>null','0fa0a')
|
将
0
包含在单引号内。
re.sub(u'(^| )0',u'\g<1>null','0fa0a')
输出:
u'nullfa0a'
如果您不想删除开头
0
,则不要将其包含在您的模式中。
>>> re.sub(u'(^| )',u'\g<1>null','0fa0a')
'null0fa0a'
如果你想检查开头或空格后面是否有 0,则使用前瞻,
>>> re.sub(u'(^| )(?=0)',u'\g<1>null','0fa0a')
u'null0fa0a'