正規表現で、次のような方法で一連の文字を検証したい..
ABC,DEF,GHI....
カンマで区切られた数字を許可しない 3 文字のセット、
誰でも助けてください。
正規表現で、次のような方法で一連の文字を検証したい..
ABC,DEF,GHI....
カンマで区切られた数字を許可しない 3 文字のセット、
誰でも助けてください。
私のヒントは、次のコードを使用することです。
string toBeTested = ...
Match m = Regex.Match(toBeTested, "^[a-zA-Z]{3}(\\,[a-zA-Z]{3})*$");
a-zA-Z
文字に一致
{3}
ちょうど3回
次に、コンマ (エスケープ) のグループとそれに続く 3 文字 ( *
== 0 回以上)
^
文字列の始まりを意味する 文字列
$
の終わりを意味する
つまり、文字列全体を検証する必要があります
"([a-zA-Z]{3},)+" コンマはエスケープすべきではないと思います。
これは、AZ 間の何かに一致する正規表現です。
var resultString = System.Text.RegularExpressions.Regex.Match(subjectString, "[a-zA-Z]{3},").Value;
このようなもの?
(\S{3},)+(\S{3})$
これは私にとってはうまくいきました。
string s = "ABC,DEF,GHI";
Match match = Regex.Match(s, "^([a-zA-Z]{3},)+[a-zA-Z]{3}$");
if (match.Success) {
Console.WriteLine("String passes");
} else {
Console.WriteLine("String fails");
}