0

私は次のような正規表現パターンを持っています

    string _pattern = @"\d{4}-\d{2}\/\d{2}\/\d{4}";

文字列値が完全にこのパターンに属しているか、このパターンの一部であるかを確認するにはどうすればよいですか。

たとえば、私が送信した場合

        string someString= "0007-08/02/2012";
        Match m = Regex.Match(someString, _pattern);
        //i get a full match

しかし、私が送信した場合

        string someString="0007-"
        //how do i check if this string value matches that pattern and is a substring.

正規表現を使用する以外に、それを行う他の方法はありますか。

ありがとう、csk

4

3 に答える 3

1

パターンの任意のサブストリングに一致させる場合は、「?」を追加する必要があります。すべてのオプションで、次のようになります。

string _pattern = @"(\d{4})?(-)?(\d{2})?(\/)?(\d{2})?(\/)?(\d{4})?";

このパターンは、元のパターンの任意のサブストリングと一致します。

i.e.: 
0007-08/02/2012
0007-
08/02/2012
08/
/02/2012

そのすべてがパターンに一致します。

于 2012-10-10T10:51:04.127 に答える
0
string _pattern = @"\d{4}-(\d{2}\/\d{2}\/\d{4})?"
于 2012-10-10T10:52:30.507 に答える
0

someString私の提案は、パターンに一致することがわかっている文字列を後置してテストすることです。

string good = "0007-08/02/2012";
bool isMatch = Regex.Match(someString + good.Substring(someString.Length), _pattern)
于 2012-10-10T11:00:41.917 に答える