编程语言
首页 > 编程语言> > python – 结合负前瞻和正则表达式

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