我正在尝试使用正则表达式在字符串中查找字符串序列。
我正在寻找的模式是:
dd.dd.dddd dd:dd:dd//d是0-9的数字
我的正则表达式是:
Regex r = new Regex(@"(\d[0-9]{2}.\d[0-9]{2}.\d[0-9]{4}\s\d[0-9]{2}:\d[0-9]{2}:\d[0-9]{2})$");
我现在正在尝试检查字符串“27.11.2014 09:14:59”是否与正则表达式匹配,但遗憾的是它不匹配。
string str= "27.11.2014 09:14:59";
Regex r = new Regex(@"(\d[0-9]{2}.\d[0-9]{2}.\d[0-9]{4}\s\d[0-9]{2}:\d[0-9]{2}:\d[0-9]{2})$");
test = r.IsMatch(str,0);
//output: test=false
有人知道为什么字符串不匹配那个正则表达式吗?
最佳答案
\d[0-9]{2}
匹配三个 数字:
\d first digit
[0-9] second digit
{2} causes the previous expression ([0-9]) to match again
如果您删除所有出现的 \d
,您的模式应该有效。不过,您应该转义所有点 .
,因为现在它们匹配 任何 字符,而不仅仅是 .
。
关于c# - 正则表达式与字符串不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912866/