原文は http://publish.ez.no/article/articleprint/11/ にあります |
正規表現の説明 |
この記事は「正規表現」の紹介をいたします。まず、「正規表現」について説明し、その構文を紹介、幾つかの複雑度の違う例を出し、最後に「正規表現」を使うツールをリストアップします。
abc |
123 |
\ | ( ) [ { ^ $ * + ? . < > |
1.23 |
1x23 1 23 1-23 |
1\.23 |
* and + |
c* |
go |
c+ |
? |
cows? |
cow cows |
{n,m} |
{1,5} |
{1,} |
{5} |
^ と $ |
^The |
< と > |
cow |
cow coward cowage cowboy cowl |
<cow> |
「(」 と 「)」 |
( ?ho)+ |
ho ho ho ho ho ho hohoho |
| |
Bill|Linus|Steve|Larry |
cow(ard|age|boy|l)? |
cow coward cowage cowboy cowl |
((Donald|Dolly) Duck)|(Scrooge McDuck) |
「[」 と 「]」 |
[a-z] |
[a-zA-Z0-9] |
<[a-zA-Z]+> |
cow Linus regular expression |
200 x-files C++ |
[^a-zA-Z0-9]+ |
\d, a digit [0-9] \D, a non-digit [^0-9] \w, a word (alphanumeric) [a-zA-Z0-9] \W, a non-word [^a-zA-Z0-9] \s, a whitespace [ \t\n\r\f] \S, a non-whitespace [^ \t\n\r\f] |
*.jpg |
*.[ch]pp |
.* |
*.jpg |
.*\.jpg |
ez*.[ch]pp |
ez.*\.[ch]pp |
ez.*\.(cpp|hpp) |
[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+)+ |
("?[a-zA-Z]+"?[ \t]*)+\<[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+)+\> |
[a-z]+:// |
^#include[ \t]+[<"][^>"]+[">] |
//.+$ |
/\*[^*]*\*/ |
-?[0-9]+\.[0-9]+ |
0x[0-9a-fA-F]+ |
grep -E "cow|vache" * >/dev/null && echo "Found a cow" |