home changes contents help options

**028:単語にマッチさせる**

単語を含むかどうか調べる

最初に特定の単語を含むかどうかを考えて見ましょう。

例えば、「spec」を検索したいが、「specification」は除外したいというときです このようなときは、正規表現で単語の境界線を示す「\b」をつかいます。

 >>> import re
 >>> m=re.search(r'\bspec\b','abc spec def')
 >>> m.group(0)
 'spec'
 >>> m=re.search(r'\bspec\b','abc specificatin def')
 >>> print m
 None

正確に言えば、正規表現の\bは、\w(LOCALEまたはUNICODEが設定されていない場合は、英文字一文字)と\W(英文字以外とマッチ)の隙間にマッチします。

漢字はどうすればいいのでしょうか?

単語にマッチさせる

次に一般の単語にマッチさせるとを考えます。

実は単語の定義ははっきりしていないので、それをはっきりさせてからパターンを見出さねばなりません。

(1)pythonの正規表現\wにマッチする文字列のつながり

  (2)アルファベットの連なり

(3)非空白文字の連なり。必ず半角空白文字で区切られている

今日はここまで。