搜索2个特定字母,后跟4个数字正则表达式

时间:2019-09-05 14:26:09

标签: c# regex match

我需要检查一个字符串是否以2个特定字母开头,然后是否跟着任意4个数字。

2个字母为“ BR”,因此BR1234有效,例如BR7412也有效。

我需要检查哪些代码字符串与C#中的Regex匹配?

下面我写的正则表达式可能是一种更有效的书写方式(我是RegEx的新手)

[B][R][0-9][0-9][0-9][0-9]

2 个答案:

答案 0 :(得分:3)

您可以使用此:

Regex regex = new Regex(@"^BR\d{4}");
  • ^定义字符串的开头(因此,BR之前不应有其他字符)
  • BR匹配-很好-BR
  • \d是一个数字(0-9)
  • {4}说,前面提到的组(\d)中必须恰好有4个

您没有指定允许跟在四位数后面的内容。如果应该在字符串的末尾,请添加一个$

在C#中的用法:

string matching = "BR1234";
string notMatching = "someOther";

Regex regex = new Regex(@"^BR\d{4}");
bool doesMatch = regex.IsMatch(matching); // true
doesMatch = regex.IsMatch(notMatching); // false;

答案 1 :(得分:0)

    static void validateInputIsOk(String input) throws InvalidArgumentException {
        if (input == null || !input.equals("Valid input")) {
            throw new InvalidArgumentException(new String[]{"Bad input"});
        }
    }

一些回答长度至少为30个字符的文字:)