检查表达式是否与regex匹配

本文关键字:regex 匹配 是否 检查表 表达式 检查 | 更新日期: 2023-09-27 18:04:20

在c#中我有两个字符串:[I/text][S/100x20]

所以,第一个是[I/,后面跟着文本,以]结尾。

第二个是[S/后面跟着一个整数,然后是x,然后是另一个整数,最后以]结尾。

我需要检查给定的字符串是否与这种格式之一匹配。我尝试了以下操作:

(?<word>.*?) and (?<word>[0-9]x[0-9])

但这似乎不起作用,我错过了[I/...][S/...]部分。

我该怎么做?

检查表达式是否与regex匹配

这应该很好:

Regex rex = new Regex(@"'[I/[^']]+']|'[S/'d+x'd+']");

如果[I/text]中的文本应该只包含字母数字字符,那么@Oleg使用'w而不是[^']]会更好。另外,使用+意味着需要至少有一个前面的字符类,*允许类是可选的。根据需要调整…

和使用:

string testString1 = "[I/text]";
if(rex.IsMatch(testString1))
{
    // should match..
}
string testString2 = "[S/100x20]";
if(rex.IsMatch(testString2))
{
    // should match..
}

遵循正则表达式即可。匹配整个字符串

"('[I/'w+'])|('[S/'d+x'd+'])"

([I/'w+])(S/' d + x ' d +])

以上工作

使用http://regexr.com?34543来玩你的表达式