1

リストがあります。数字が含まれているか確認したい

list1 = [u'Studied at ', u'South City College, Kolkata', u'Class of 2012',
u'Lives in   ', u'Calcutta, India', u'From ', u'Calcutta, India']
>>> if re.match(r'[\w-]+$', str(list1)):
    print "contains a number"
else:
    print "does not contain number"

数字は含まれていません。助けが要る。出力を「2012」にしたい

4

2 に答える 2

5

\d正規表現はどうですか?

>>> import re
>>> l = [u'Studied at ', u'South City College, Kolkata', u'Class of 2012', u'Lives in ', u'Calcutta, India', u'From ', u'Calcutta, India']
>>> digit_re = re.compile('\d')
>>> [item for item in l if digit_re.search(item)]
[u'Class of 2012']

または、数字を抽出する場合:

>>> for item in l:
...     match = digit_re.search(item)
...     if match:
...         print "%s: %s" % (item, match.group(1))
... 
Class of 2012: 2012
于 2013-09-04T13:14:55.297 に答える
4

re.searchパターンに対してa を実行するだけです\d。しないre.matchでください。文字列の先頭からのみ一致します。

于 2013-09-04T13:15:22.243 に答える