c# - 正则表达式与字符串不匹配

标签 c# regex

我正在尝试使用正则表达式在字符串中查找字符串序列。

我正在寻找的模式是:

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/

相关文章:

c# - 'NameSpace.Settings' 的类型初始值设定项抛出异常

c# - Dapper where 子句 IN 数组,不存在从对象类型 System.Collections.Generic.List`1 到已知托管提供程序 native 类型的映射

python - 匹配字符串中的多个组

javascript - 使用 jQuery 在 <li> 中包装文本

c# - 俄罗斯方 block 计时器不工作

c# - 搜索以 c# regex 开头和结尾的所有字符串

regex - Jenkins Build Failure Analyzer插件正则表达式多行

javascript - 帮助正则表达式 - 我怎样才能让一些网址不跟随?

c# - 将 byte[] 转换为字符串并再次返回

javascript - 搜索 2 个字符串中的占位符值