list1 = ['Contact: Hamdan Z Hamdan, MBBS, Msc',
'\r\n ',
'+249912468264',
'\r\n ',
'hamdanology@hotmail.com',
'\r\n ',
'Contact: Maha I Mohammed, MBBS, PhD',
'\r\n ',
'+249912230895',
'\r\n ',
'\r\n ',
'Sudan',
'Jaber abo aliz',
'\r\n ',
'Recruiting',
'\r\n ',
'Khartoum, Sudan, 1111 ',
u'Contact: Khaled H Bakheet, MD,PhD \xa0 \xa0 +249912957764 \xa0 \xa0 ',
'khalid2_3456@yahoo.com',
u' \xa0 \xa0 ',
u'Principal Investigator: Hamdan Z Hamdan, MBBS,MSc \xa0 \xa0 \xa0 \xa0 \xa0 \xa0 ',
'Principal Investigator:',
'\r\n ',
'Hamdan Z Hamdan, MBBS, MSc',
'\r\n ',
'Al-Neelain University',
'\r\n '
]
Run Code Online (Sandbox Code Playgroud)
从这个字符串列表中我只需要提取不应该与其他字符关联的4位整数?
示例:'1111'仅是所需的输出.
我们应该如何在python中编写正则表达式?显然,这不起作用:*([\d]{4})*.
您可以\b在正则表达式中使用以指示单词边界,因此以下内容适用于您:
import re
for s in list1:
m = re.search(r'\b\d{4}\b', s)
if m:
print m.group(0)
Run Code Online (Sandbox Code Playgroud)
...只是输出1111.在对文件\b进一步解释道:
\b匹配空字符串,但仅匹配单词的开头或结尾.单词被定义为字母数字或下划线字符的序列,因此单词的结尾由空格或非字母数字的非下划线字符表示.[...]
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |