我想匹配文本中的空格字符或字符串结尾。
import re
uname='abc'
assert re.findall('@%s\s*$' % uname, '@'+uname)
assert re.findall('@%s\s*$' % uname, '@'+uname+' '+'aa')
assert not re.findall('@%s\s*$' % uname, '@'+uname+'aa')
模式不对。
如何使用Python?
\s*$
不正确:这匹配“零个或多个空格其次是字符串的末尾”,而不是“一个或多个空格or字符串的末尾”。
对于这种情况,我会使用(?:\s+|$)
(在原始字符串内,正如其他人提到的)。
这(?:)
部分只是分隔该子表达式,以便 |运算符匹配正确的片段且不超过正确的片段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)