我有一个正则表达式,但不知道它意味着什么
>>> import re
>>> re.sub(u'(^| )'0,u'\g<1>null','0fa0a')
我希望它替换字符串的开头或空格会为null,但实际上什么都不做。
>>> '0fa0a'
小组参考是指什么?我还没有定义第1组? 为什么不替换?
由于
答案 0 :(得分:2)
问题在这里,
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'