5 分でわかる正規表現
リテラル、文字クラス、量指定子
「5 分でわかる正規表現」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。
パターンのための小さな言語
正規表現は、テキストを照合するための小さなパターン言語です。1つの固定された単語ではなく、見つけたいものの形を記述します。
Pythonでも正規表現を使える
Pythonでは、正規表現に組み込みのreモジュールを使います。一度インポートすれば、どのような文字列からでもパターンを検索、照合、抽出できます。
import re
re.search("cat", "the cat sat")リテラル:正確な文字
最も単純なパターンはリテラルです。パターンdogは、テキスト内のどこにあっても、d、o、gという文字の並びに完全一致します。
searchで最初の一致を見つける
re.searchを使うと、文字列を検索してパターンが最初に現れる場所を返せます。一致するものがなければNoneを返します。
m = re.search("sat", "the cat sat")
print(m.group())角括弧による文字クラス
角括弧内の文字クラスは、列挙された文字のいずれか1文字に一致します。パターン[abc]は、1回につきa、b、cのいずれか1文字に一致します。
re.findall("[aeiou]", "hello")便利なクラスの省略記法
一部のクラスには省略記法があります。\dは任意の数字、\wは単語構成文字、\sは空白に一致します。入力の手間を大幅に減らせます。😊
ドットは何にでも一致する
ドットは、改行を除く任意の1文字を表します。そのためh.tはhat、hit、hotに一致しますが、2文字のhtには一致しません。
量指定子でパターンを繰り返す
量指定子は、その直前の部分を何回繰り返すかを表します。プラス記号は1回以上、アスタリスクは0回以上の繰り返しを指定します。
re.findall("a+", "aaa banana")波括弧で回数を正確に指定する
繰り返し回数を正確に指定するには波括弧を使います。パターン\d{3}は連続する3桁の数字に完全一致するため、市外局番や短いIDに最適です。
re.findall("\d{3}", "call 911 now")アンカーで位置を固定する
アンカーは文字ではなく位置に一致します。キャレットは文字列の先頭、ドル記号は文字列の末尾を表します。
findallですべての一致を返す
searchが1つの一致を見つけるのに対し、re.findallはテキスト内のすべての一致をリストで返します。複数の項目のカウントや抽出に便利です。
re.findall("\d+", "2 cats, 5 dogs")確認問題
連続する3桁の数字に完全一致させたい場合、どのパターンが適切でしょうか。
まとめ:正規表現ツールキット
リテラル、文字クラス、ドット、量指定子、アンカーについて学びました。re.searchとre.findallを使えば、実際のパターンを記述して見つけられます。🎉
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「5 分でわかる正規表現」レッスンは無料ですか?
はい。「5 分でわかる正規表現」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。
「5 分でわかる正規表現」で何を学びますか?
リテラル、文字クラス、量指定子 ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
NLP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「5 分でわかる正規表現」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNLP Academyレッスンでコードを書いて実行できますか?
はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。