2015年06月23日
情報科学類 コンピュータリテラシ
筑波大学 システム情報系 情報工学域
新城 靖
<yas@cs.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2015/2015-06-23
/regexp.html
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
^a.*tion$」。「aで始まり、tionで終わるもの」。
「^」、「.」、「*」、「$」 は、
メタキャラクタ。特別の意味を持つ。
メタキャラクタを含まない文字列も、正規表現として意味を持つ。
*,?,[]」などは、単にワイルドカードではなく、正規表現に
近い。複数の場所に「*」が書けるので、単なるワイルドカードではな
い。
grep使われている正規表現
\
^
[]の中で使われたときには否定の意味)
$
.
[c1c2c...cn]
c1c2c...cn のどれか。
例:[abc]ならaかbかcのどれか。
[c1-c2]
c1からc2 の範囲のどれか。
例:[a-z]ならaからzまでのアルファベットの小文字。
[^c1c2c...cn]
[^abc]ならaでもなくbでもなくcでもないもの。
*
.*なら任意の文字の任意回数の繰り返し。
[a-z]*ならアルファベット小文字の任意回数の繰り返し。
abなら、「a」に続き「b」。
\(正規表現\)
X\(abc\)*X は、XabcabcXにマッチする。
\N
X\(abc\)\1X は、XabcabcXにマッチする。
\<
\>
| 正規表現 | マッチする例 | マッチしない例 |
| abc | abc, abcd | ab |
| \\abc | \abc, \abcd | \ab |
| a.c | aac, abc, xabc | ac, a, c, |
| a*c | c, ac, axc, aaac, xc | a |
| [abc]x | ax, bx, XaxX | dx |
| [^abc]x | dx, ex | bx, Xbx, abx |
正規表現+
正規表現の1回以上の繰り返し。「正規表現 正規表現*」と同じ。
正規表現?
正規表現が0回、または、1回。
正規表現1|正規表現2
正規表現1かまたは正規表現2。orの意味。
(正規表現)
正規表現のグループ化。
\(\)やその参照\Nは廃止された。
|の意味が違い、egrepで
|と書く所、Emacs では
\|と書く。egrep で
\|と書く所では、Emacs では|でよい。
正規表現1\|正規表現2
正規表現1かまたは正規表現2。orの意味。
\`
\'
\w
\W
\b
\B