我在python控制台中尝试过这个命令:
re.match('^\<.+\>([\w\s-,]+)\<.+\>$', 'Carrier-A')
我得到了:
Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.7/re.py", line 141, in match return _compile(pattern, flags).match(string) File "/usr/lib/python2.7/re.py", line 251, in _compile raise error, v # invalid expression sre_constants.error: bad character range
但是当我使用时:
re.match('^\<.+\>([\w\s,-]+)\<.+\>$', 'Carrier-A')
没有错误返回.
关于字符序列我应该考虑什么?
-
在方括号内使用时,破折号[]
具有特殊含义:它定义了一系列字符.例如,[\s-,]
是指"从任何字符\s
到,
"(这是不可能的).但是,如果破折号是方括号中的第一个或最后一个字符,则它没有特殊含义.这就是你的第二个正则表达式是正确的原因.