对不起,如果这是一个愚蠢的问题,但它在过去的5天里一直在推动我的心理.
我正试图制作一个正则表达模式,以匹配爱尔兰汽车注册示例' 12-W-1234'到目前为止,这就是我所拥有的:
import java.util.ArrayList;
import java.util.List;
public class ValidateDemo {
public static void main(String[] args) {
List<String> input = new ArrayList<String>();
input.add("12-WW-1");
input.add("12-W-223");
input.add("02-WX-431");
input.add("98-zd-4134");
input.add("99-c-7465");
for (String car : input) {
if (car.matches("^(\\d{2}-?\\w*([KK|kk|ww|WW|c|C|ce|CE|cn|CN|cw|CW|d|D|dl|DL|g|G|ke|KE|ky|KY|l|L|ld|LD|lh|LH|lk|LK|lm|LM|ls|LS|mh|MH|mn|MN|mo|MO|oy|OY|so|SO|rn|RN|tn|TN|ts|TS|w|W|wd|WD|wh|WH|wx|WX])-?\\d{1,4})$")) {
System.out.println("Car Template " + car);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我检查那些在我的模式中有一个字母的 regs时,我的问题就出现了.例如'12-ZD-1234'.哪里ZD不是有效的县ID,但由于D它是有效的,因此可以显示它.
任何帮助都会很棒.
这些网站有所帮助,但我仍然遇到了问题.
通过,我将更改模式以将所有输入更改为大写以减少我的代码的大小.谢谢您的帮助