【发布时间】:2012-04-18 06:59:46
【问题描述】:
我一般使用re.findall(p, text)来匹配一个模式,但现在我遇到了一个问题:
我只想将p 匹配为普通字符串,而不是正则表达式。
例如:p 可能包含 '+' 或 '*',我不希望这些字符具有正则表达式中的特殊含义。换句话说,我希望 p 逐个字符地匹配。
在这种情况下p 对我来说是未知的,所以我不能在其中添加“\”来忽略特殊字符。
【问题讨论】:
-
如果你不知道
p,你怎么能把它当成正则表达式呢? -
@Marcin:他没有关于
p的先验信息,因此他无法对已经转义的字符串进行硬编码。不明白为什么这被否决了? -
@NiklasB。好吧,也许吧,但是如果他有字符串,为什么他不能转义特殊字符?
-
@Marcin:我认为如何做到这一点是这里的实际问题。 “我不能在其中添加'\'以忽略特殊字符”可能是指手动转义。