正则表达式匹配提取命令

Regular Expression Match to Extract Command

字符串:Z123xy;Z123od33;Z123od343;Z251od541;
正则表达式:Z.*?od.*?;
所需输出:[Z123od33; Z123od343; Z251od541;]
但当前输出:[Z123xy;Z123od33; Z123od343; Z251od541;]

我知道为什么会这样,但不知道如何解决。任何人都可以帮助

你可以去

Z[^;]*?od[^;]*?;
# require a Z
# anything not a ; lazily
# od
# anything not a ; lazily again
# followed by a ;

a demo on regex101.com或在;上拆分,稍后分别分析。