python – 结合负前瞻和正则表达式
作者:互联网
我想要一个正则表达式,它将在每个“.”分割一个字符串.除非“.”前面跟着一个数字.例:
“hello world.foo 1.1 bar.1”==> [“你好世界”,“foo 1.1 bar”,“1”]
我目前有:
"(?<![0-9])\.(?!\d)"
但它给出了:
["hello world", "foo 1.1 bar.1"]
但它找不到最后一个“.”有效.
解决方法:
拆分.如果它前面没有数字,或者数字没有成功:
In [18]: re.split(r'(?<!\d)\.|\.(?!\d)', text)
Out[18]: ['hello world', 'foo 1.1 bar', '1']
标签:python,regex,negative-lookbehind,negative-lookahead 来源: https://codeday.me/bug/20190620/1246192.html