re.error: unterminated character set at position while reading stirng

re.error: unterminated character set at position while reading stirng

这是我得到的字符串

这给定的刺激

Immunodeficiency with increased immunoglobulin [M] [IgM] Maternal care for anti-D [Rh] antibodies, unspecified trimester

我试图在 Python 中的一个字符串中找到多次出现的字符串,并获取它们的索引。

所以, 输入字符串

  char = random input string

我想要这样的结果:

result = [[index, index, index],[index, index, index ]]

所以,这是我使用的代码。

            a = [m.start() for m in re.finditer(char,given string)]

,但它对元字符不起作用,并导致 re.error: unterminated character set at position 0

我该如何改进这段代码?

如果您想将 re.finditer() 与随机输入字符串一起使用,您需要对其进行转义,以防它包含在正则表达式中具有特殊含义的字符。

regex = re.escape(char)
a = [m.start() for m in re.finditer(regex,given string)]