regex 正则表达式:两个字符串之间的匹配字符串

qeeaahzv  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(139)

我有一个这样的字符串:

[01/09/2015 00:00:47]       INFO=54646486432154646 from=steve   idfrom=55516654455457       to=jone       idto=5552045646464 guid=100021623456461451463   n
um=6    text=hi my number is 0 811 22 1/12   status=new      survstatus=new

我想提取文本字段,结果应该是这样的:

hi my number is 0 811 22 1/12

这是我在regex中尝试的:

text=(.*)status

它给了我这个:

hi my number is 0 811 22 1/12   status=new      survstatus=new

所以这不是我想要的,我怎么能摆脱最后两个字段?
谢谢

vwkv1x7d

vwkv1x7d1#

我会用途:

\btext=(.*?)\bstatus=

为了避免在hi my status is 0中匹配状态

oipij1gg

oipij1gg2#

所以答案是text=(.*?)status,感谢@HamZa的快速回答。

oymdgrw7

oymdgrw73#

看起来你的数据是制表符分隔的。如果是这样的话,这可能更好:

\ttext=([^\t*])

这基本上就是说,找到一个标签后面跟着'text=',然后捕获所有内容,直到下一个标签。

相关问题