正则表达式匹配精确的斜杠数

时间:2015-11-30 21:50:44

标签: java regex

跟进existing question,如果我输入以下字符串,这个正则表达式不起作用。

test1/test2/test3:test4/test5/test/1234/abc1232323:test7/test8。它导致abc1232323,但是,我希望它告诉我它在4“/”之后没有找到匹配的字符串(因为1234不符合标准)

我希望正则表达式为马赫ABC123 patern(精确长度)后精确的4斜杠。我会apreciate @ergonaut帮助

1 个答案:

答案 0 :(得分:1)

如果您想 NOT test1/test2/test3:test4/test5/test/1234/abc1232323:test7/test8中找到匹配项,因为您需要匹配未跟数位的3位数字,请使用

^(?:[^/]*/){4}([A-Za-z]{3}\d{3})(?!\d)

请参阅regex demo

在Java中:

String reg = "^(?:[^/]*/){4}([A-Za-z]{3}\\d{3})(?!\\d)";

如果3个数字((?!\d))后面跟着另一个数字,则\d{3}是一个未通过匹配的否定前瞻。 如果您不需要此限制,请删除此前瞻。您可以在在线正则表达式演示中轻松查看效果。