文字列をチェックして、文字列内の文字の少なくとも 1 つが文字または数字であるかどうかを確認したいと考えています。どうすればいいですか?
5616 次
3 に答える
3
あなたが使用することができますre.search
if re.search(r'[a-zA-Z\d]', string):
文字列に少なくとも文字または数字が含まれている場合、一致オブジェクトが返されます。
例:
>>> s = "foo0?"
>>> re.search(r'[a-zA-Z\d]', s)
<_sre.SRE_Match object; span=(0, 1), match='f'>
>>> s = "???"
>>> re.search(r'[a-zA-Z\d]', s)
>>> s = "???0"
>>> re.search(r'[a-zA-Z\d]', s)
<_sre.SRE_Match object; span=(3, 4), match='0'>
>>>
于 2015-02-26T14:53:26.370 に答える
3
str.isalnum
:
In [16]: s = "foo"
In [17]: s.isalnum()
Out[17]: True
In [20]: s = "123"
In [21]: s.isalnum()
Out[21]: True
In [22]: s = "foo123"
In [23]: s.isalnum()
Out[23]: True
次に、いずれかを使用します。
any(x.isalnum() for x in s)
In [24]: s = "!@1"
In [25]: any(x.isalnum() for x in s)
Out[25]: True
In [27]: s = "!@()"
In [28]: any(x.isalnum() for x in s)
Out[28]: False
英字または数字が見つかった場合は短絡し、文字列にどちらも含まれていない場合は False を返します。
于 2015-02-26T14:53:55.190 に答える