Python 2.7 Python 2.7按条件重新搜索

Python 2.7 Python 2.7按条件重新搜索,python-2.7,Python 2.7,当我使用re.search时,我遇到了一些问题 例如: a = '<span class="chapternum">1 </span>abc,def.</span>' 无法获取数字“1”^和$指示字符串的开头和结尾。如果你摆脱了它们,你就有了答案: >>> test = re.search('(>)(\d+)(\s)', a) >>> test.groups() ('>', '1', ' ') 但不确定是否

当我使用re.search时,我遇到了一些问题

例如:

a = '<span class="chapternum">1 </span>abc,def.</span>' 

无法获取数字“1”

^
$
指示字符串的开头和结尾。如果你摆脱了它们,你就有了答案:

>>> test = re.search('(>)(\d+)(\s)', a)
>>> test.groups()
('>', '1', ' ')
但不确定是否需要第一组和最后一组(用括号捕获):

>a='23 abc,def'
>>>测试=重新搜索('>(\d+)\s',a)
>>>试验组(1)
'23'

示例:a=1 abc,def。您考虑过使用实际的HTML解析器吗?使用正则表达式是很有趣的。尽管答案(@jornsharpe-linked)可能很有趣,但我永远不会忘记它。永远不要使用正则表达式解析html。感谢您的快速响应。虽然这可以找到“1”,但我不能确定所有数字是否都与我的hold程序中的组(1)匹配。因此,我正在寻找一种只搜索类似以下模式的结果的方法:>\d+\s。
test.group(1)
表示“第一组”,而
\d+
部分捕获所有数字。噢。我得到了它。谢谢。
>>> test = re.search('(>)(\d+)(\s)', a)
>>> test.groups()
('>', '1', ' ')
>>> a = '<span class="chapternum">23 </span>abc,def.</span>' 
>>> test = re.search('>(\d+)\s', a)
>>> test.group(1)
'23'