我想从字符串中提取命令。我需要的命令包含特定的ID 124和123以及特定的标志od和xy。所以我想提取所有contained my ids [123|124]
和 my flags[od|xy]
的命令。
字符串:Z124xy54;Z123od33;Z123od343;Z251od541;Z251ab541;
正则表达式:Z[^;]*?(od|xy)[^;]*?;
要求输出:[Z124xy54; Z123od33; Z123od343;]
但当前输出:[Z123xy54; Z123od33; Z123od343; Z251od541;]
我知道为什么会发生这种情况,但不知道如何解决这个问题。任何人都可以帮忙
另一个样本:
Z124xy54;Z123od33;Z123od343;Z251od541;Z251ab541;Z123od343;
Z124xy54;Z123od33;Z123od343;Z251od541;Z251ab541;Z123od343X
答案 0 :(得分:1)
使用:
(Z(?:123|124)(?:xy|od).*?(:?;|$))