我已经尝试了几种正则表达式组合来解决这个问题,但有些或条件失败了,
我有一个输入字符串,只能包含一组给定的定义字符
让我们说A,B或C.
我该如何匹配这样的东西?
ABBBCCC - isMatch True
AAASDFDCCC - isMatch false
PS。我正在使用C#
答案 0 :(得分:18)
^[ABC]+$
应该足够了:那是使用Character class or Character Set。
Anchors'^'和'$'只会确保所有字符串只包含从头到尾的字符。
Regex.Match("ABACBA", "^[ABC]+$"); // => matches
含义:字符集不保证匹配字符的顺序。
Regex.Match("ABACBA", "^A+B+C+$"); // => false
保证订单
答案 1 :(得分:1)
我认为你正在寻找这个:
Match m = Regex.Match("abracadabra", "^[ABC]*$");
if (m.Success) {
// Macth
}