正規表現-複数の文字に一致
複数文字の一致
文字
さぎょう
*
前の文字に一致して0回または無限回出現し、あってもなくてもよい
+
一致する前の文字は1回または無限回、少なくとも1回発生します.
?
一致する前の文字が0回または1回
{m}
前の文字に一致してm回出現
{m, n}
前の文字に一致するm~n回
例*
1つの文字列の最初の文字はサイズ文字で、後ろはすべて小文字で、これらの小文字はあってもなくてもいいです.
例+
例?
0~99の数字を一致させる
例{m},{m-n}
8~20ビットのパスワードに一致します.大文字と小文字の英字、数字、下線です.
文字
さぎょう
*
前の文字に一致して0回または無限回出現し、あってもなくてもよい
+
一致する前の文字は1回または無限回、少なくとも1回発生します.
?
一致する前の文字が0回または1回
{m}
前の文字に一致してm回出現
{m, n}
前の文字に一致するm~n回
例*
1つの文字列の最初の文字はサイズ文字で、後ろはすべて小文字で、これらの小文字はあってもなくてもいいです.
import re
ret = re.match("[A-Z,a-z]*", "g")
print(ret.group())
ret = re.match("[A-Z,a-z]*", "Road")
print(ret.group())
ret = re.match("[A-Z,a-z]*", "Ordinary_Road")
print(ret.group())
#
# g
# Road
# Ordinary
例+
import re
roads = ["road1", "_road", "3_road", "__road__"]
for road in roads:
ret = re.match("[a-zA-Z_]+[\w]*", road)
if ret:
print(" %s " % ret.group())
else:
print(" %s " % road)
# :“+” , , 。
例?
0~99の数字を一致させる
import re
ret = re.match("[1-9]?[0-9]", "0")
print(ret.group())
ret = re.match("[1-9]?\d", "66")
print(ret.group())
ret = re.match("[1-9]?\d", "06")
print(ret.group())
#
0
66
0
例{m},{m-n}
8~20ビットのパスワードに一致します.大文字と小文字の英字、数字、下線です.
import re
ret = re.match("[a-zA-Z0-9_]{8}", "122f3h435h67")
print(ret.group())
ret = re.match("[a-zA-Z0-9_]{8,20}", "122fdgh435h67")
print(ret.group())