2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3で正規表現を行ったのでまとめ

Last updated at Posted at 2019-04-28

#正規表現まとめ
Pythonでの文字列検索で正規表現を使いました。何度も調べていたのでまとめ。(自分用です)
##正規表現

記号 意味 解説
^ 行頭 ^A 1文字目がAである
^ 文字クラス内で使用すると否定 [^0-3] 0123以外
$ 行末 $A 最後の文字がAである
. 任意の1文字 ^.A 2文字目がAである
* 0回以上の繰り返し [01]* -
+ 1回以上の繰り返し [01]+ -
? 0または1回の繰り返し [01]? -
{n} n回の繰り返し [01]{n} nは数値
{n,} n回以上の繰り返し [01]{n,} nは数値
{n,m} n回からm回の繰り返し [01]{n,m} nは数値
\ メタ文字のエスケープ \. 「.」を意味する

##これらを使用して文字列の検索をしてみる。
reモジュールをインポート

inport re

2文字目がAであるか確認します。

ptr="^.A"
com_ptr=re.compile(ptr)    #検索パターンの文字列をコンパイルする
res=com_ptr.search("AABC") #"AABC"の2文字目がAであるか検索
if res==None:              #searchは文字列が存在しない場合の戻り値がNone
    print("2文字目はAではありません")
else:
    print("2文字目はAです")

##検索に使用するメソッドまとめ
検索するパターンcom_ptrが"B"、検索対象文字列value_strが"ABCDEFG"とした場合

メソッド 内容 戻り値
com_ptr.search(value_str,開始位置,終了位置) 最も長いパターン文字列の位置を返す <_sre.SRE_Match object; span=(1, 2), match='B'>
com_ptr.match(value_str,開始位置,終了位置) 先頭部分のみ検索 この例では1文字目がAではないのでNone
com_ptr.sub(置換後文字列,value_str) - -

以上です。
まだ使いこなせていないので、間違っている部分があれば教えて下さい。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?