成亟亟 发表于 2020-7-11 22:20:38

正则表达式方式去除首尾空格

在IDEL的一段:
>>> import re
>>> f = re.compile(r'(^\s*)(.*)(\s*$)')
>>> f.sub(r'\2','   good luck   ')
'Good dog   '
>>>

请看到此问题的您帮忙给看看,为啥只能去除掉开头的空格,结尾处的却还会显示?
谢谢

Twilight6 发表于 2020-7-11 23:07:08



正则表达式大部分方法默认模式是贪婪匹配的

所以你的 (.*) 直接匹配到后面的空格了,在 (.*) 里面加上个 问好就好:

import re
f = re.compile(r'(^\s*)(.*?)(\s*$)')
print(f.sub(r'\2','   good luck   '))



成亟亟 发表于 2020-7-11 23:35:08

Twilight6 发表于 2020-7-11 23:07
正则表达式大部分方法默认模式是贪婪匹配的

所以你的 (.*) 直接匹配到后面的空格了,在 (.*) 里面加 ...

谢谢您的回复。
改了以后运行就合心意了。好使。再次感谢。

Twilight6 发表于 2020-7-11 23:37:21

成亟亟 发表于 2020-7-11 23:35
谢谢您的回复。
改了以后运行就合心意了。好使。再次感谢。

客气了~
页: [1]
查看完整版本: 正则表达式方式去除首尾空格