如何在不进行后视检查的情况下更改此正则表达式
How to change this regex without lookbehind check
它应该匹配0个或多个空格之间的子字符串。 C++11 没有向后看。这有可能重写这个正则表达式吗?或者我需要安装 boost 并使用 "full" regex powerful?
正则表达式:^\s*(.*(?<! ))\s*$
图片:
更新:在反向引用中匹配!
您可以改用 .*?
使内部 *
惰性 匹配尽可能少的字符,同时仍然为您提供匹配.这允许最后一个 \s*
占用所有空间:
>>> re.match(r'^\s*(.*?)\s*$', ' asdf asdf ').group(1)
'asdf asdf'
它应该匹配0个或多个空格之间的子字符串。 C++11 没有向后看。这有可能重写这个正则表达式吗?或者我需要安装 boost 并使用 "full" regex powerful?
正则表达式:^\s*(.*(?<! ))\s*$
图片:
更新:在反向引用中匹配!
您可以改用 .*?
使内部 *
惰性 匹配尽可能少的字符,同时仍然为您提供匹配.这允许最后一个 \s*
占用所有空间:
>>> re.match(r'^\s*(.*?)\s*$', ' asdf asdf ').group(1)
'asdf asdf'