1

入力文字列全体(先頭と末尾を含む)で、「wor d」、「overf low」などの単語をそれぞれ「word」、「overflow」に置き換える正規表現を探しています。

PHPとpreg_replaceを使用しています。文字列をスペースで分割してさらにフィルタリングする前に、これらの単語を検出する必要があります。時間の任意の組み合わせは、当然の結果をもたらしません。

前もって感謝します!

4

2 に答える 2

0
$ 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'
于 2012-11-23T10:36:53.007 に答える
0

これは難しいので: 単語とは何ですか? 単語の一部は何ですか?

in cr e di bleとはどう違いit is a dogますか?

正規表現を使用するには、次のようなルールを設定する必要があります。

  • 単語間、および単語部分間に空白をいくつ入れることができますか?
  • 単語を分割できる部分の長さはどれくらいですか?
  • 文字列内のすべての単語が部分に分割されていますか?

これらのルールのいずれかを確認できない場合、問題を解決する正規表現を作成することはできません。単語を辞書と比較して、それらが有効かどうかを確認すると、より便利になるはずです。

于 2012-11-23T10:23:42.697 に答える