我正在尝试对带有破折号的字符串进行简单的边界正则表达式替换,但是它们不能替换,为什么?破折号在正则表达式中意味着什么?
这是我的实际尝试,其中f是我要替换字符串完全匹配的变量:
margin: 5px 10px;
我如何获得所需的输出:
>>> import re
>>> f = "user-services-http-two user-services-http"
>>> re.sub(r'\buser-services-http\b', '32370', f)
'32370-two 32370'
我的要求是我必须使用re,因为稍后我会在代码中使用python(massedit)中的另一个模块。
答案 0 :(得分:1)
import re
f = "user-services-http-two user-services-http"
re.sub('\\b(user-services-http$)', '32370', f)
已根据您上面的其他评论进行了编辑-但与PKumar相同-适用于所有情况
答案 1 :(得分:1)
您可以这样做:
re.sub(r'\buser-services-http$', '32370', f)