我正在构建一个字符串函数来提取两个标记之间的字符串内容。它返回一个提取列表
def extract(raw_string, start_marker, end_marker):
... function ...
return extraction_list
我知道这可以使用正则表达式来完成但是这很快吗?这将在我的过程中被称为数十亿次。最快的方法是什么?
如果标记相同且出现奇数次会怎么样?
如果开始和结束标记出现多次,该函数应返回多个字符串。
答案 0 :(得分:10)
你可能不能超过:
def extract(raw_string, start_marker, end_marker):
start = raw_string.index(start_marker) + len(start_marker)
end = raw_string.index(end_marker, start)
return raw_string[start:end]
但是如果你想尝试使用正则表达式,只需尝试对它进行基准测试。它有一个很好的时间模块。