我想選擇並用空格替換破折號(「 - 」)某些單詞(例如:「啓動」改爲「啓動」),而使用PHP的preg_replace()忽略替換其他單詞(例如:「啓動」保持「啓動」)。正則表達式選擇一個( - ),但忽略選擇,如果它在某些單詞內(啓動|停止)
這是我想出正則表達式:
(?<!(start))-(?!(up))|(?<!(start))-|-(?!(up))
使用這個數據的上述正則表達式:
- 初創
- 起步
- 任何行動
- STOP-OFF
- 啓動關閉
- 停止了
返回如下:
- 初創
- 開始下降
- 任何東西
- 下車
- 開始
- 堵
它完美地開辦。但我知道,我需要在列表中加入其他例外,例如停止(例如:「停止」停留「停止」)。我是否應該通過PHP的函數(如str_replace())和if else/switch case來處理帶有「不可更改」單詞的數組,並在必要時進行適當的更改,或者是有一種方法在正則表達式中忽略某些選擇,如果選擇是在某個單詞中的一部分?
這是要上一個大的字符串文本或單詞的任何陣列使用? –
它將用於像列表這樣的單詞,最多不超過3-4個單詞。 – haleksandre