特定の単語のダッシュ/ハイフン ("-") をスペース (" ") で選択して置き換えたい (例: "start-down" が "start down" に変わる) 一方で、他の単語の置換を無視します (例: PHP の preg_replace() を使用すると、「スタートアップ」は「スタートアップ」のままです)。
これは私が思いついた正規表現です:
(?<!(start))-(?!(up))|(?<!(start))-|-(?!(up))
このデータに対して上記の正規表現を使用すると、次のようになります。
- 起動
- 開始
- なんでも
- 途中下車する
- 開始
- ストップアップ
以下を返します。
- 起動
- スタート
- 何もかも
- 途中下車する
- 始める
- 立ち止まる
スタートアップに最適です。しかし、途中で停止などの他の例外をリストに追加する必要があることはわかっています(例:「停止」は「停止」のままです)。
したがって、問題は次のとおりです。str_replace() などの PHP の関数を介して実行する必要があります。else/switch が「変更不可能な」単語の配列を使用している場合は、それらをループして、必要に応じて適切な変更を行うか、正規表現に方法があります。選択が特定の単語の一部である場合、選択を無視するには?