检查表达式是否与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 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来玩你的表达式