入力文字列全体(先頭と末尾を含む)で、「wor d」、「overf low」などの単語をそれぞれ「word」、「overflow」に置き換える正規表現を探しています。
PHPとpreg_replaceを使用しています。文字列をスペースで分割してさらにフィルタリングする前に、これらの単語を検出する必要があります。時間の任意の組み合わせは、当然の結果をもたらしません。
前もって感謝します!
$ string = "w o r d", "o v e r f low"
$ echo 'word w o r d' | sed '/\([^ ][^ ]\)[ ]/s::\1\n:g ' | sed '/[ ]\([^ ][^ ]\)/s::\n\1:g' | sed ':r /\([^ ]\)[ ]/s::\1: ; tr' | sed 'H; ${x;/\n/s:: :g;sc[ ]cc;p};d'
これは難しいので: 単語とは何ですか? 単語の一部は何ですか?
in cr e di ble
とはどう違いit is a dog
ますか?
正規表現を使用するには、次のようなルールを設定する必要があります。
これらのルールのいずれかを確認できない場合、問題を解決する正規表現を作成することはできません。単語を辞書と比較して、それらが有効かどうかを確認すると、より便利になるはずです。