2011-10-25 21 views
2

POSIX正規表現のみを使用して、文字列内に単語が含まれないことを保証できますか?マッチ「私は亀が好き」というPOSIXを使用して文字列内の単語を除外する

は、それが私に教えてください:

は、私は私が「木」を持っていけない単語だけを持っていると思った場合、ということを意味します。一方

、それは、Pythonを使用せずにそれを行うには多くの方法がありますが、「男が木の上にある」

おかげ

+0

私は、第二のフレーズは "** man **が** tree **"になるはずです。 –

+7

「ツリー」にマッチしないものをチェックしてみませんか? –

+0

通常の言語の補完は普通の言語なので可能ですが、それを表現する便利な方法はないと思います。 – sverre

答えて

4
^([^t]|(t[^r])|(tr[^e])|(tre[^e]))*($|(t($|(r($|e$))))) 
+0

これは動作しません。これはt *、tr *、tre *、tree *と一致します。 – Hick

+0

私はbashでそれをテストし、それが動作するように見えます... –

+0

あなたはそれを編集しました。これは機能します。あなたの以前のものは、木が文の終わりにある場合にのみ働いていたと私は推測します。 – Hick

0

と一致してはいけません。

データファイルをテキストファイルに保存したことを前提としています。これは、このトリックを行う必要があります:

grep '\tree\>' textfile 
関連する問題