我想一個正則表達式,將在每一個"."
分割字符串,除非該"."
的前面和後面的數字。例如:結合排除模式和落後的正則表達式
"hello world.foo 1.1 bar.1"
==>["hello world","foo 1.1 bar", "1"]
我目前有:
"(?<![0-9])\.(?!\d)"
但它給:
["hello world", "foo 1.1 bar.1"]
但沒有找到最後"."
有效。在.
我想一個正則表達式,將在每一個"."
分割字符串,除非該"."
的前面和後面的數字。例如:結合排除模式和落後的正則表達式
"hello world.foo 1.1 bar.1"
==>["hello world","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']
這是因爲,只有那些斷言一個有故障時,整個表達式失敗。試試這個:
"(?<![0-9])\.|\.(?!\d)"
非|方法:
(?<![0-9](?=.[0-9]))\.