我一直在玩這個表達式在Java中的年齡並不能得到它的工作:Java的正則表達式替換所有沒有替換所有單詞
(?:^|)(?:the|and|at|in|or|on|off|all|beside|under|over|next)(?: |$)
以下:
pattern.matcher("the cat in the hat").replaceAll(" ")
給我cat the hat
。另一個示例輸入是the cat in of the next hat
,它給我cat of next hat
。
有什麼辦法可以讓這個表達式更換工作,而不必打破他們出到多個獨立的正則表達式的每個字,並嘗試多次替換字符串?
您可能還需要匹配組:'(\ b(?:| | | at | in |或| on | off | all | beside | under | over | next)\ b)' – frhd
@frhd最好的解決方案就是簡單地用捕獲的組件取代非捕獲組:'\ b(the | and | at | in | or | on | off | all | beside | under | over | next)\ b' – sp00m
@ sp00m是的,這個答案應該隨您的修正而更新。 – frhd