正規表現基礎
\A 文字列の先頭
カテゴリー:アサーション①
^ との違いは ?
前回は、先頭の位置にマッチする正規表現である、 ^ について学習しました。
今回説明する \A は ^ とよく似ています。
\A は ^ と同様に、先頭の位置にマッチする正規表現です。
但し、改行があった場合、その改行直後は先頭と判断されません。
フラグを用いても結果は同じです。
以下で確認してみます。
この記事の難度は、入門〜基礎 Bクラスです。
(A: やさしい → E: 難しい)
事前知識として、pythonから正規表現を扱う方法が必要になります。
難度 : | |
事前知識: | Pythonの基礎文法(reモジュールを含む)。 |
学習効果: | ^ との違いを理解出来るようになる。 |
Contens | 目次
Chapter1 | Pythonで実行 |
Chapter1 Pythonで実行
フラグなし
最初に、\A が先頭の位置にマッチする事を確かめましょう。
re_meta11_1.py import re pattern = re.compile("\Am") st ="mathematics" print(st) result_iter = pattern.finditer(st) for result in result_iter: print("-------- match ↓ ---------") print(result.group()) print(result.span())
実行結果
しっかりと先頭にマッチしています。
次に、対象となる文字列が "mathe\nmatics" のように改行を含んでいるとします。
この場合 m の位置は、文字列の先頭の他、改行直後にも配置されています。
^ であれば、フラグを使う事により、改行直後の m にもマッチします。
しかし、\A はフラグを利用しても一致させる事ができません。
まずは、フラグなしで実行してみます。
re_meta11_2.py import re pattern = re.compile("\Am") st ="mathe\nmatics" print(st) result_iter = pattern.finditer(st) for result in result_iter: print("-------- match ↓ ---------") print(result.group()) print(result.span())
実行結果
やはり改行直後の m にはマッチしません。
今度はフラグを付けてみます。
re_meta11_3.py import re pattern = re.compile("\Am",flags=re.MULTILINE) st ="mathe\nmatics" print(st) result_iter = pattern.finditer(st) for result in result_iter: print("-------- match ↓ ---------") print(result.group()) print(result.span())
実行結果
\A の場合、フラグを付けても結果は同様です。
\A については以上です。
^ との違いを理解できました。
関連記事
^ 行の先頭
正規表現: | アサーション① |
難度 : | 入門〜基礎 |
事前知識: | Pythonの基礎文法(reモジュールを含む) |
学習効果: | ^ を用いて、先頭の文字(改行直後も含む)にマッチさせる事が出来るようになる。 |
\A 文字列の先頭
正規表現: | アサーション① |
難度 : | 入門〜基礎 |
事前知識: | Pythonの基礎文法(reモジュールを含む) |
学習効果: | ^ との違いを理解出来るようになる。 |
$ 文字列の末尾
正規表現: | アサーション① |
難度 : | 基礎 |
事前知識: | Pythonの基礎文法(reモジュールを含む) |
学習効果: | 文字列の末尾に対する、$ による操作方法の習得。( $ の改行に対する動作も含む) |
\Z 文字列の末尾
正規表現: | アサーション① |
難度 : | 入門〜基礎 |
事前知識: | Pythonの基礎文法(reモジュールを含む) |
学習効果: | 末尾に対するマッチ。及び、$ との違いを会得出来る。 |
正規表現をPythonから使うには ?
正規表現: | Pythonから使う |
難度 : | 入門 |
事前知識: | Pythonの基礎文法 |
学習効果: | pythonから正規表現を使う一連の流れを掴む |
ハロー ! メタキャラクタ
正規表現: | メタキャラクタの概要 |
難度 : | 入門 |
事前知識: | 不要 |
学習効果: | メタキャラクタの概要を掴む |
正規表現とは?
正規表現: | 概要 |
難度 : | 入門 |
事前知識: | 不要 |
学習効果: | 正規表現の概要を知る |
PR