我想只匹配一个特定的字符串而不是字符串

时间:2017-06-09 00:21:23

标签: regex

我想找到字符串'message'之后的所有内容,但不是在带有正则表达式的字符串'messages'之后。

我尝试过这些组合

release = re.findall(r'Message\b(.*?)Explanation',res,re.DOTALL)

release = re.findall(r'Message(?!s)(.*?)Explanation',res,re.DOTALL)

release = re.findall(r'(?<=Message[^s]).*Explanation',res,re.DOTALL)

release = re.findall(r'Message[^s](.*?)Explanation',res,re.DOTALL)

release = re.findall(r'Message[^s](.*?)Explanation',res,re.DOTALL)

3 个答案:

答案 0 :(得分:0)

你可以使用一种称为负面预测的东西,它会匹配一个字符串或正则表达式后面没有特定字符串。

在你的情况下,它看起来像这样:

“消息(?!多个)。*”

http://www.regular-expressions.info/lookaround.html

答案 1 :(得分:0)

message[^s].*

如果您在最后一场比赛中不需要message,请使用

message[^s](.*)

将输出到第1组变量。

答案 2 :(得分:0)

这样做:

(?<=message[^s]).*

测试:https://regex101.com/r/ykzqUz/1