Python函数在两个标记之间查找字符串

时间:2011-10-06 09:26:29

标签: python regex string

我正在构建一个字符串函数来提取两个标记之间的字符串内容。它返回一个提取列表

def extract(raw_string, start_marker, end_marker):
    ... function ...
    return extraction_list

我知道这可以使用正则表达式来完成但是这很快吗?这将在我的过程中被称为数十亿次。最快的方法是什么?

如果标记相同且出现奇数次会怎么样?

如果开始和结束标记出现多次,该函数应返回多个字符串。

1 个答案:

答案 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]

但是如果你想尝试使用正则表达式,只需尝试对它进行基准测试。它有一个很好的时间模块。