単語にマッチさせる
単語を含むかどうか調べる
通常であればそのまま書けば終わりです.が,"\b"を使って境界を明示することで,より正確にマッチさせることができます.
(#/\bspec\b/ "Scheme spec") =>#<<regmatch> 0x5330a0> (#/\bspec\b/ "Scheme specification") =>#f
正規表現\wにマッチする文字の連なり
"\w"を指定すると,
- #/[[:alpha:]]/
- #/[[:digit:]]/
- #/_/
のいずれかを満たす文字がマッチします.なので,下の例での"2pen."の末尾にある"."はマッチしません.
(scan-match-string #/\w+/ " This is\ta 2pen.") =>("This" "is" "a" "2pen")
アルファベットの連なり
前述の#/[[:alpha:]]/を使ってもよいでしょう.別の方法としては,#/[a-z]/を使うこともできます.
さらに#/[a-z]/iとすれば大文字小文字を区別せずにマッチさせることができます.
(scan-match-string #/[a-z]+/i " This is\ta 2pen.") =>("This" "is" "a" "pen")
非空白文字の連なり
非空白文字にマッチさせたい場合には,空白文字"\s"の補集合である"\S"を使います.
これだと数字の"2"や末尾の"."も全てマッチします.
(scan-match-string #/\S+/ " This is\ta 2pen.") =>("This" "is" "a" "2pen.")