您好我想创建一个自定义正则表达式,其中值的第一部分字符串必须修复到字符串索引[10],即@SystemDate之后必须有一个opreator +或 - 在该两位数的整数值之后试过但没有得到它请通过以下代码并建议我更改
if (Regex.IsMatch(_SelectedSystem, "@SystemDate{1}[+/-]$ {2}[0-9]{2}$"))
{
global::System.Windows.Forms.MessageBox.Show("Test");
}
答案 0 :(得分:1)
类似的东西:
@SystemDate[+-]\d{2}$
打破你的比赛:
@SystemDate literally
[+-] match + or -
\d{2} match exactly 2 digits
$ end of string
请参阅:Demo
答案 1 :(得分:0)
“(^ @ SystemDate $)| ^ @ SystemDate [+ | - ] {1} \ d + $”
答案 2 :(得分:0)
您不应在字符类中使用|
符号,每个符号都被视为其中的单个字符。
你需要
@"^@SystemDate(?:[+-]\d+)?$"
请参阅demo
(?:[+-]\d+)?
是一个可选的非捕获组,它可以存在与否。 [+-]
只与1 +
或-
匹配。