Regex python正则表达式如何避免匹配多个分号?
我将要编写一个正则表达式来提取子字符串。字符串为:Regex python正则表达式如何避免匹配多个分号?,regex,logstash,Regex,Logstash,我将要编写一个正则表达式来提取子字符串。字符串为: ASP.NET_SessionId=frfcjcarie4dhxouz5yklwu+BIGipServercapitaliq ssl=3617221783.36895.0000+OBSSOCOKIE=wkyQfn2Cyx2%2f7kSj4zBB886WaLs92Ord9FSf64c%2BYHFOBWGEP4F3UMORDJ051SUQWRXAKEWBTYVKRYJUGH2YNZTAJ2%2BNP8ASLIT9QPKVKTEAZKL3JNIV8M
ASP.NET_SessionId=frfcjcarie4dhxouz5yklwu+BIGipServercapitaliq ssl=3617221783.36895.0000+OBSSOCOKIE=wkyQfn2Cyx2%2f7kSj4zBB886WaLs92Ord9FSf64c%2BYHFOBWGEP4F3UMORDJ051SUQWRXAKEWBTYVKRYJUGH2YNZTAJ2%2BNP8ASLIT9QPKVKTEAZKL3JNIV8MYWFSM%2Ftm1%2bGTk9Oa%2CNA0HMY847QK27%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZIV%2BZI7BZI7B+machineIdCookie=866873600+userLoggedIn=jga;SDGJEFDFS
我想提取一个子串,以ObSSOCookie=
并在userLoggedIn
之前结束
我设置了我的正则表达式模式
pattern = "ObSSOCookie=.*;"
但是它会一直提取到最后一个分号(包括+machineIdCookie=866873600
),而不是我想要的第一个分号
有没有办法提取到第一个分号?我不能只使用
split
by”;“因为这个正则表达式实际上是在Logstash
配置文件中使用的,在那里没有办法使用python风格的编码…为什么不抓取下一个之外的任何东西呢代码>像这样()
你想让你的正则表达式不贪婪
而不是用这个
* - zero or more
用这个
*? - zero or more (non-greedy)
这是您的表达式()
这是一种通用技术,在中也有描述
*? - zero or more (non-greedy)
ObSSOCookie=(.*?;)