REGEX 获取七个连续数字?

2024-04-24 07:12:14 发布

您现在位置:Python中文网/ 问答频道 /正文

只是想知道什么是最好的正则表达式来得到7个连续的数字?有没有办法简洁地使用[0-9]七次?或者我应该只使用几个????在

这七个数字表示学区id代码,它可能出现在学区wiki页面的任何位置。它们将通过空格与其他内容隔开。

输入:美化这些页面 表中右边的NCES D id:https://en.wikipedia.org/wiki/Anniston_City_Schools 同样的事情:https://en.wikipedia.org/wiki/Huntsville_City_Schools

Ouptut:一个七位数的数字,表示地区标识ex:1234567


Tags: 代码httpsorgidcity内容wiki数字
3条回答

这将查找7个数字,然后确保下一个字符不是另一个数字

\b[0-9]{7}(?![0-9])

Regular expression visualization

如果你能很好地匹配整个7位数的空格,这也没问题

^{pr2}$

Regular expression visualization


如果您想匹配Asad的示例NCSD Code:1234567,这应该可以

(?<![0-9])[0-9]{7}(?![0-9])

Regular expression visualization

您可以使用这个:

(?<=^|[^0-9])[0-9]{7}(?=$|[^0-9])

它只匹配7位数字,不多不少。在

或者用消极的观察方式。。。在

^{pr2}$

不要使用正则表达式。使用HTML解析器,如BeautifulSoup

from urllib2 import urlopen, Request
from bs4 import BeautifulSoup

resp = urlopen(Request('https://en.wikipedia.org/wiki/Anniston_City_Schools',
                       headers={'User-Agent': 'Stack Overflow'}))
soup = BeautifulSoup(resp.read())

table = soup.find('table', class_='infobox')

for row in table.find_all('tr'):
    if 'NCES' in row.th.text:
        nces = row.td.a.text
        print nces
        break

这将加载URL数据,找到“infobox”表,然后找到带有NCES条目的行。在

HTML源代码中有7位数字,但上面的代码一次性提取出正确的数字。在

相关问题 更多 >