我是使用正則表達式的初學者,而且我正在尋找一種模式,該模式可以通過前面沒有星號的冒號分割字符串。由不以星號爲首的冒號拆分
我發現了以下模式,我認爲會工作,但沒有。
[^:]+\\*:[^:]+
(該\*
被轉義的Objective-C的編譯工作)
我需要做什麼改變嗎?
我是使用正則表達式的初學者,而且我正在尋找一種模式,該模式可以通過前面沒有星號的冒號分割字符串。由不以星號爲首的冒號拆分
我發現了以下模式,我認爲會工作,但沒有。
[^:]+\\*:[^:]+
(該\*
被轉義的Objective-C的編譯工作)
我需要做什麼改變嗎?
您需要使用negative look-behind:
(?<![*]):
此正則表達式匹配不是前面有一個colon(:)
- >(?<!..)
一個*
- >[*]
。在角色類中使用*
,它會失去意義,並且只匹配*
。
不是星號的單個字符可以這樣表示:[^*]
。這將星號放入一個字符類,它沒有特殊的含義。開頭的括號後的脫字符否定角色類。
匹配這是由什麼不是一個星號然後可以簡單地寫爲[^*]:
得到公正的位置的目的,冒號冒號,把它變成一組本身:[^*](:)