如何找到匹配的字节码?

时间:2018-02-14 16:55:55

标签: python regex python-3.x search

我有一个字节码字符串以及所有匹配的字节码中的开始和结束索引(来自texteditor)。

示例mystring

a few names with accents are Emily Brontë, Noël Coward, Zoë Wanamaker

当我搜索包含ë的单词时,我在发短信中找到这些(字节码)索引:
matches = [[35, 43], [44, 49], [58, 62]]

现在我想使用python p.e在这些匹配中搜索。查找字母o的所有子字符串,并在o中找到这些mystring的新字节码。

newmatches = []
     for n in matches:
         for m in reg.finditer(str(mystring[n[0]:n[1]], 'utf-8')):
             newmatches.append([m.start(), m.end()])

在上面的例子中,start()和end()不是字节码,不是mystring中的索引,而是子串中的索引。

如何解决此问题?

2 个答案:

答案 0 :(得分:1)

要获取mystring中的索引而不是子字符串中的索引,您需要将n[0]的值添加到start()和end()。

答案 1 :(得分:1)

获得matches数组后,在mystring上进行第二次搜索,找到o的索引(让我们称之为新数组o_matches)。然后循环浏览o_matches中的项目 - 如果项目包含在matches数组中的任何时间间隔内,则将其添加到newmatches,因为这意味着它是其中的一部分一个包含重音的单词。