正規表現 どつぼ・・・
ちゃつぼ
本日
正規表現の ぱた~~~ん
を
自分で やってみよう!
が
いきなり つまづいた;;
なんでやねん!
# ★ パターンと保存先をセットで書く
RULES = [
# 魑魅魍魎
(r'魑魅魍魎', "魑魅魍魎"),
(r'^魑魅魍魎', "魑魅魍魎"),
(r'$魑魅魍魎', "魑魅魍魎"),
(r'魑魅魍魎$', "魑魅魍魎"),
どれが どれ???
けっか!
### 1. 原因:`match()` は「先頭から」しか見ない
Pythonの `re.match()` という関数(命令)は、
**「文字列の先頭がパターンに一致するか?」**をチェックする性質を持っています。
つまり、正規表現の中に `^`(先頭)を書いていなくても、
プログラム側で自動的に **「先頭に `^` がついているのと同じ状態」
** として扱われてしまうのです。
python の
if pattern.match(name_only):
を
if pattern.search(name_only):
にする!
じゃないと
問答無用で
先頭文字検索
前方一致検索
になるよ~~~ん
らしい
勉強する
お年頃♪
じじぃ~
