用regex处理“\n\t\t”

2024-06-16 19:59:32 发布

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

字符串str(dList)中有以下子字符串:

"addressRegion">\n\t\t\t\t\t\t\t\t\tMA\n\t\t\t\t\t\t\t\t</span>

我想用检索要使用以下命令拉出“MA”:

state = re.search(r'"addressRegion">\n\t\t\t\t\t\t\t\t\t(.+?)\n\t',str(dList))

然而,这似乎不起作用。我知道这可能是因为“/”的处理方式。我不知道该怎么处理。你知道吗


Tags: 字符串命令research方式spanstatestr
2条回答

更新 如果你真的想使用regex,你可以这样做,但是我认为@cricket\u007的解决方案是更好的方法。你知道吗

你所需要做的就是用另一个反斜杠来避开反斜杠。你也可以去掉重复的'\t':

>>> s = '"addressRegion">\n\t\t\t\t\t\t\t\t\tMA\n\t\t\t\t\t\t\t\t</span>'
>>> re.search('.*\\n(\\t)+(.*?)\\n(\\t)+.*',s).group(2)
'MA'

Regex实际上是不必要的

In [22]: str = '<span class="addressRegion">\n\t\t\t\t\t\t\t\t\tMA\n\t\t\t\t\t\t\t\t</span>'

In [23]: from bs4 import BeautifulSoup

In [24]: soup = BeautifulSoup(str, 'html.parser')

In [25]: soup.text
Out[25]: u'\n\t\t\t\t\t\t\t\t\tMA\n\t\t\t\t\t\t\t\t'

In [26]: soup.text.strip()
Out[26]: u'MA'

相关问题 更多 >