我需要检查一个字符串是否以2个特定字母开头,然后是否跟着任意4个数字。
2个字母为“ BR”,因此BR1234有效,例如BR7412也有效。
我需要检查哪些代码字符串与C#中的Regex匹配?
下面我写的正则表达式可能是一种更有效的书写方式(我是RegEx的新手)
[B][R][0-9][0-9][0-9][0-9]
答案 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个字符的文字:)