我有这个Python正则表达式:[A-Za-z0-9_\s]+
如何设置它以允许空格,但不允许空格作为最后一个字符。
给出字符串
"Monthly Report Aug 27th 2013 - New York"
我想要匹配
"Monthly Report Aug 27th 2013"
不
"Monthly Report Aug 27th 2013 "
答案 0 :(得分:3)
我会这样写:
[A-Za-z0-9_]+(?:\s+[A-Za-z0-9_]+)*
注意:如果您不使用re.LOCALE
或re.UNICODE
选项,则模式可缩短为:
\w+(?:\s+\w+)*
答案 1 :(得分:1)
Python支持“非空白”通配符:\S
(大写的外卡往往与小写相反。)所以你可以使用这样的东西:
r'[A-Za-z0-9_\s]+\S$'
答案 2 :(得分:0)
尝试类似[A-Za-z0-9_ \ s] + [A-Za-z0-9_]的内容。您只需在正则表达式的末尾添加一个额外的字符,该字符与空格不匹配。
答案 3 :(得分:0)