我有像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
答案 0 :(得分:1)
如果要匹配模式的任何子字符串,则必须添加“?”在所有选项中,如下所示:
string _pattern = @"(\d{4})?(-)?(\d{2})?(\/)?(\d{2})?(\/)?(\d{4})?";
此模式将匹配原始模式的任何子字符串。
i.e.:
0007-08/02/2012
0007-
08/02/2012
08/
/02/2012
所有这些都符合模式。
答案 1 :(得分:0)
string _pattern = @"\d{4}-(\d{2}\/\d{2}\/\d{4})?"
答案 2 :(得分:0)
我的建议是使用已知与模式匹配的字符串postfix someString
并测试它:
string good = "0007-08/02/2012";
bool isMatch = Regex.Match(someString + good.Substring(someString.Length), _pattern)