正規表現 (Regular Expression) ドキュメント
正規表現は、文字列の検索、置換、パターンマッチングに使用される非常に強力なツールです。特にプログラミングやテキスト処理で頻繁に活用されます。
基本構文
パターン | 説明 |
---|---|
. |
任意の1文字 |
^ |
行頭 |
$ |
行末 |
* |
直前の文字が0回以上繰り返される |
+ |
直前の文字が1回以上繰り返される |
? |
直前の文字が0回または1回現れる |
{n} |
直前の文字がn回繰り返される |
{n,} |
直前の文字がn回以上繰り返される |
{n,m} |
直前の文字がn回以上m回以下繰り返される |
[] |
指定された文字集合のいずれか1文字 |
[^] |
指定された文字集合以外の1文字 |
` | ` |
() |
グループ化、またはサブパターン |
基本構文の例
1. 任意の1文字: .
正規表現: a.c
入力例:
abc
adc
afc
ac
出力:
abc
adc
afc
2. 行頭: ^
正規表現: ^Hello
入力例:
Hello World
Say Hello
Hello
出力:
Hello World
Hello
3. 行末: $
正規表現: end$
入力例:
This is the end
The end is near
end
not the end.
出力:
This is the end
end
4. 直前の文字が0回以上繰り返される: *
正規表現: ba*
入力例:
ba
baa
baaa
b
bba
出力:
ba
baa
baaa
b
5. 直前の文字が1回以上繰り返される : +
正規表現: ba+
入力例:
ba
baa
baaa
b
bba
出力:
ba
baa
baaa
6. 直前の文字が0回または1回現れる : ?
正規表現: colou?r
入力例:
color
colour
colouur
colr
出力:
color
colour
7. 繰り返し回数: {n}
正規表現: a{3}
入力例:
a
aa
aaa
aaaa
出力:
aaa
8. 範囲繰り返し: {n,}
正規表現: a{2,}
入力例:
a
aa
aaa
aaaa
出力:
aa
aaa
aaaa
9. 最小・最大繰り返し: {n,m}
正規表現: a{2,3}
入力例:
a
aa
aaa
aaaa
出力:
aa
aaa
10. 指定された文字集合のいずれか1文字 : []
正規表現: [aeiou]
入力例:
b
c
a
e
i
o
u
出力:
a
e
i
o
u
11. 指定された文字集合以外の1文字 : [^]
正規表現: [^aeiou]
入力例:
b
c
a
e
i
o
u
出力:
b
c
12. OR条件: |
正規表現: cat|dog
入力例:
cat
dog
bat
出力:
cat
dog
13. グループ化: ()
正規表現: (ab)+
入力例:
ab
abab
ababc
abc
出力:
ab
abab
特殊文字
文字 | 説明 |
---|---|
\d |
数字 (0-9) |
\D |
数字以外 |
\w |
英数字またはアンダースコア (_a-zA-Z0-9) |
\W |
英数字およびアンダースコア以外 |
\s |
空白文字 (スペース, タブ, 改行) |
\S |
空白文字以外 |
\b |
単語境界 |
\B |
単語境界以外 |
\ |
エスケープ (特殊文字を無効化) |
特殊文字の例
1. 数字: \d
正規表現: \d{3}
入力例:
abc123def
456
78
9012
出力:
123
456
901
2. 数字以外: \D
正規表現: \D+
入力例:
123abc456
78def
90ghi12
出力:
abc
def
ghi
3. 英数字またはアンダースコア: \w
正規表現: \w+
入力例:
abc_123
@#$%^
helloWorld
出力:
abc_123
helloWorld
4. 空白文字: \s
正規表現: \s+
入力例:
Hello World
Tab\tHere
New Line
出力:
(space)
(tab)
(newline)
5. 単語境界: \b
正規表現: \bword\b
入力例:
word
wordplay
anotherword
word.
出力:
word
word.