关于网友提出的“Python正则r'\s+'与r'\s+'的区别”问题疑问,本网通过在网上对“Python正则r'\s+'与r'\s+'的区别”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:Python正则r'\s+'与r'\s+'的区别
解决方案1:http://docs.python.org/2/library/re.html#re.split
If capturing parentheses are used in pattern, then the text of all groups in the pattern are also returned as part of the resulting list.
解决方案2:如评论所说,看过文档了你还问?!
再来一个例子,可以帮助更好的理解这个问题:
>>> s = 'a12b12c'
>>> re.split(r'(1)(2)', s)
['a', '1', '2', 'b', '1', '2', 'c']
>>> re.split(r'((1)(2))', s)
['a', '12', '1', '2', 'b', '12', '1', '2', 'c']
如果你的正则表达式中确实必须使用括号,但又不想把括号匹配到的部分包含在结果当中,记得使用非捕获分组(non-capturing group)的语法:
>>> re.split(r'(?:1)(2)', s)
['a', '2', 'b', '2', 'c']
以上介绍了“Python正则r'\s+'与r'\s+'的区别”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1498948.html