示例字符串:
str = "<sec>John</sec> said hi to a woman (named <sec>Mary</sec>)"
结果应该是一个列表:
res = [John, Mary]
我现在应该学习正则表达式。
答案 0 :(得分:1)
试试这个:
import re
str = "<sec>John</sec> said hi to a woman (named <sec>Mary</sec>)"
ext = re.findall(r'<sec>(\S+?)</sec>', str)
这将返回['John', 'Mary']
\S
- 表示匹配任何非空白字符。
+?
- 表示一次或多次重复一个角色(非贪婪)。
()
- 表示提取这些括号内的所有内容。
答案 1 :(得分:0)
您正在处理(类似于)XML。使用a parser。
import xml.etree.ElementTree as ET
str = "<sec>John</sec> said hi to a woman (named <sec>Mary</sec>)"
doc = ET.fromstring("<root>" + str + "</root>")
result = [x.text for x in doc.findall(".//sec")]
# >>> ['John', 'Mary']