我喜欢为以下情况编写正则表达式
正则表达式:?
示例1
输入:
I got good morning message
输出:
good morning
示例2
输入
good morning message
输出
good morning
示例3
输入:
my friend got thank you message from xyz
输出:
thank you
输出应包含消息,而忽略其他详细信息,例如i got
,message
,my friend got
。该消息不仅可以是good morning
,thank you
。
答案 0 :(得分:0)
如果您想获取got和message关键字之间的字符串,或者想要从字符串的开头开始进行匹配(如果没有),则可以使用以下代码:
import re
pattern = re.compile('(?:.*got )?(?(1)got |)(.*) message')
pattern.search('my friend got thank you message from xyz').group(1)
答案 1 :(得分:-2)
如果我理解正确,那么您希望在got和message之间获取消息,或者如果找不到字符串,则从字符串开头获取消息?
在这种情况下,您可以使用:
[^|got ](.*) message
然后,您可以通过执行\ 1来提取捕获组(在程序或语言上可能有所不同)。