複数行の標準入力による正規表現の判定
解決したいこと
python3で標準入力の問題を解いています。
一行目の文字列(標準入力の一行目)が二行目の文字列(標準入力二行目)に含まれていたらNOで含まれていないならOKと出力したいです。
解決方法を教えて下さい。
条件
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ 文字列 s_1, s_2 の長さ ≦ 100
・s_1, s_2 は半角アルファベットで構成された文字列
例)
想定する入力1↓
abcf
gabcfk
想定する出力1↓
NO
想定する入力2↓
b
dfzk
想定する出力2↓
OK
発生している問題・エラー
OKとNOが逆転している
もしくはどのパターンも外す。
自分で試したこと
場合を判定するのでif文を使う。
含む含まれないを判定するので、正規表現を使う。
特にre.matchを使う。re.match(危険な文字,判定したい文字列)
import re
s_1=input()#一行目の文字列(標準入力の一行目)でこれが二行目に含まれてるか判定したい
s_2=input()#二行目の文字列(標準入力二行目)で、一行目の文字列があるかを判定したい。
if re.match(s_1,s_2):#第一引数のs_1がs_2に含まれているか判定
print("OK")
else:
print("NO")
Noneなどの条件を明確化しないと、場合分けのわけがわからなくなるのでは?と仮定。
下記のif文にNoneを追加することで危険な文字列は無い場合をOKとする。
import re
s_1=input()
s_2=input()
if re.match(s_1,s_2)==None:
print("OK")
else:
print("NO")