6

指定した文字以外のすべてを含む行と一致させたい[I|V|X|M|C|D|L]

new Regex(@"^(.*) is (?![I|V|X|M|C|D|L].*)$")

リストに記載されている文字以外のすべてに一致する必要がありORます。

一致する必要があります -

name is a

一致すべきではありません -

edition is I
4

3 に答える 3

16

このパターンを試してください:

^[^IVXMCDL]*$

これは、文字列の先頭に一致し、その後に文字クラスで指定されたもの以外の0 個以上の文字が続き、その後に文字列の末尾が続きます。つまり、これらの文字を含む文字列には一致しません。

また、使用方法によっては、おそらく次のような単純なパターンを使用できることに注意してください。

[IVXMCDL]

そして、パターンに一致する文字列を拒否します。

于 2013-11-06T08:05:47.007 に答える
7

|この場合は必要ありません。使用するだけです^[^IVXMCDL]*$

^[^IVXMCDL]*$

正規表現の視覚化

Debuggex デモ

于 2013-11-06T08:06:14.147 に答える
0
 private  bool IsValid(String input)
        {
            bool isValid = false;
            // Here we call Regex.Match.
            Match match = Regex.Match(input, @"^[^IVXMCDL]*$");

            // Here we check the Match instance.
            if (match.Success)
            {
               isValid = true;
            }
            else
            {
                isValid = false;
            }

          return isValid;
        }
于 2013-11-06T08:12:31.893 に答える