我使用的系統其中&後跟某個字母或數字表示一種顏色。
可以遵循&有效字符爲[A-Fa-fK-Ok-or0-9]
具有優先級的Java正則表達式匹配模式
比如我有串&aThis is a test &bstring that &ehas plenty &4&lof &7colors.
我想在每一個& X拆分,同時保持字符串中的& X。
所以我在我的正則表達式
(?=(&[A-Fa-fK-Ok-or0-9]))
這工作完全沒使用正向前查找,輸出爲:
&aThis is a test &bstring that &ehas plenty &4 &lof &7colors.
的問題是,有& X兩個實例旁邊的點對方不應該被拆分,該線應該是&4&lof
。
有誰知道我可以使用正則表達式是什麼,這樣,當有兩個&彼此相鄰它們是匹配在一起X的。顏色代碼的兩個實例應該優先於單個實例。
那麼爲什麼不在?=(和&[在你的正則表達式中]之間加一個空格? – Tiina
因爲整個想法是讓它們作爲一個整體匹配在一起,而不是單獨的 –
你說「$ a $ b」和「$ a $ b」是一個,所以並不是說正則表達式應該更像「(?=(&[A-Fa-fK-Ok-or0-9]))」, &??那麼你只需要特別注意字符串中的第一個字符,我認爲這是最簡單和直接的方式 – Tiina