1

我有一个看起来像这样的正则表达式:

[RegularExpression(@"\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?", ErrorMessage = "Please enter a valid part number.")]

这允许像这样的零件编号 07-287370-002 或 11-16D897-007。

我还希望正则表达式接受这个特定值:##-######-###

我不确定语法,非常感谢任何帮助。

4

3 回答 3

2

(A|B)表示“接受字符串匹配表达式A或表达式”的正则表达式B。因此,你会这样做:

[RegularExpression(@"(##-######-###|\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?)", ErrorMessage = "Please enter a valid part number.")]
于 2012-09-21T14:48:19.800 回答
0

Try this:

[RegularExpression(@"\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]|##-######-###?", ErrorMessage = "Please enter a valid part number.")]
于 2012-09-21T14:50:06.570 回答
0

I would be say try this:

Pattern pattern = Pattern.compile("\d{2}[-zZ][a-zA-Z0-9]{6,7}[-a-zA-Z0-9]{2,3}[a-zA-Z0-9]?[a-zA-Z0-9]?;
String PI = "Enter sample part number here to check"
    Matcher matcher = pattern.matcher(PI);
    String partNumTemp = "";
    if(matcher.find()){
        partNumTemp = matcher.group();
        System.out.println(partNumTemp);

    }else{
        System.out.println("Did not work sorry");
    }
于 2012-09-21T14:50:06.657 回答