簡體   English   中英

正則表達式子字符串與模式匹配

[英]regex substring match with a pattern

我有一個RegEx Patern喜歡

    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

如果要匹配模式的任何子字符串,則必須添加“?” 在所有可選選項中,如下所示:

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

此模式將匹配您原始模式的任何子字符串。

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

所有這些都與模式匹配。

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

我的建議是在someString加上一個已知與模式匹配的字符串並進行測試:

string good = "0007-08/02/2012";
bool isMatch = Regex.Match(someString + good.Substring(someString.Length), _pattern)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM