(Python)文字列の正規表現、(先頭、末尾の固定)

正規表現とは、Pythonのみならず、ほかの言語(Java,C,PHP,Javascript)などにも出てくる概念です。
正規表現はある特定の文字列(パターン)が、検索対象の文字列に出現するかどうかを判定します。検索パターンが検索対象の一部だけでも一致すればOKである。

[^]は文字列の先頭を表す。
[$]は文字列の行末を表す。

# -*- coding: utf-8 -*-

#正規表現のreモジュールをインポートする。
import re

pattern = ["ABA", "^ABA", "ABA$","^ABA$"]#見つけ出したいパターンの文字列
search = ["ABA", "ABAA", "ABAAA","AABA","AAABA"]#検索対象の文字列

#見つけ出したいパターンの文字列でループを回す。
for i in pattern:
    print("*******")
    p = re.compile(i)#正規表現を使える等にパターン文字列をコンパイルする。
    for j in search:#検索対象の文字列の集合をループで回す。
        result = p.search(j)#検索対象に検索パターンが一致するかチェックする。検索パターンが検索対象の一部だけでも一致すればOKである。
        if result is not None:
            r = "OK" #一致していればOKとする。
        else:
                r = "NG" #一致してなければNGとする。
        massege = "(Pattern)" + i + "(search)" + j + "(match)" + r
        print(massege)



(実行結果)
*******
(Pattern)ABA(search)ABA(match)OK
(Pattern)ABA(search)ABAA(match)OK
(Pattern)ABA(search)ABAAA(match)OK
(Pattern)ABA(search)AABA(match)OK
(Pattern)ABA(search)AAABA(match)OK
*******
(Pattern)^ABA(search)ABA(match)OK
(Pattern)^ABA(search)ABAA(match)OK
(Pattern)^ABA(search)ABAAA(match)OK
(Pattern)^ABA(search)AABA(match)NG
(Pattern)^ABA(search)AAABA(match)NG
*******
(Pattern)ABA$(search)ABA(match)OK
(Pattern)ABA$(search)ABAA(match)NG
(Pattern)ABA$(search)ABAAA(match)NG
(Pattern)ABA$(search)AABA(match)OK
(Pattern)ABA$(search)AAABA(match)OK
*******
(Pattern)^ABA$(search)ABA(match)OK
(Pattern)^ABA$(search)ABAA(match)NG
(Pattern)^ABA$(search)ABAAA(match)NG
(Pattern)^ABA$(search)AABA(match)NG
(Pattern)^ABA$(search)AAABA(match)NG