我需要使用正則表達式來實現替換,以在點之後添加空格,只要它不在兩位數之間。正則表達式和組的交集
a.a -> a. a
7.7 -> 7.7
要實現它,我有幾個規則,這裏就是其中之一:
text = (re.compile(u'(\D)(\.)(\D)')).sub('\\1\\2 \\3', text)
我希望取代非數字符號之間點後添加空格,但是對於輸入
a.b.c.d.e
結果是
a. b.c. d.e
所以在一些符號之間沒有空格。看起來'a.b'首先被匹配,'b'之後不被處理爲'b.c.d'的一部分。有沒有可能解決這個問題?
謝謝!
可以使用前瞻/向後斷言 –
應該發生什麼'你好world.'?你的意思是指任何時間段或非特定數字字符之間的時間段? –
雖然有一個問題。如果你只想排除'digit-dot-digit',那麼你的regex將不會匹配'digit-dot-notdigit'或'notdigit-dot-digit'。 – sln