为什么我的正则表达式不匹配?
SOURCE[\s]*[:]*[\s]*(\r\n|\r|\n)*[\[#x3000\]]*[A-Za-z \!\.\-]*
文本
\xa0SOURCE:\r\nHult International Business School\r\n\r\n\r\n\r\n\r\nSUBJECT: ENTREPRENEURSHIP (92%);
我的正则表达式尝试。在这里似乎可以正常工作。http://regex101.com/r/aB7nJ2
由于某些原因,只有[\ s]捕获了\ r \ n。我不明白为什么。使用[\ s] *解决了它。
您的正则表达式模式是否用原始字符串定义?如果是这样,则应匹配:
In [25]: import re
In [26]: text = '\xa0SOURCE:\r\nHult International Business School\r\n\r\n\r\n\r\n\r\nSUBJECT: ENTREPRENEURSHIP (92%);'
In [27]: re.search(r'SOURCE[\s]*[:]*[\s]*(\r\n|\r|\n)*[\[#x3000\]]*[A-Za-z \!\.\-]*', text)
Out[27]: <_sre.SRE_Match at 0xb0bffa0>
从文档:
原始字符串表示法(r“ text”)使正则表达式保持理智。如果没有它,则正则表达式中的每个反斜杠('\')都必须以另一个反斜杠为前缀来转义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句