【发布时间】:2021-04-13 04:44:56
【问题描述】:
我想检查如下所示的字符串
第一个 radius = 120
和
第二个 radius = 'value'
这是我的代码
v1 = new Regex(@"^[A-Za-z]+\s[=]\s[A-Za-z]+$");
if (v1.IsMatch(singleLine))`
{
...
...
}
使用@"^[A-Za-z]+\s[=]\s[A-Za-z]+$"这个表达式匹配第二个字符串但不是第一个,当使用这个@"^[A-Za-z]+\s[=]\s\d{0,3}$"时只匹配第一个。
我也想检查radius = 'val01'
【问题讨论】:
-
这三个例子是否涵盖了所有可能的情况?我的意思是:你应该提到匹配条件是什么......这三种情况在我看来并不像所有可能的情况。即:RHS 中的数字是否始终为三位数?
-
^[A-Za-z]+\s=\s(?:[A-Za-z]+|\d{1,3}|[A-Za-z]+\d{1,2})$怎么样,根据您向我们展示的内容使用一些替代方法。我猜你可以根据自己的需要解除一些限制。 -
使用
@"^[A-Za-z]+\s=\s(?:'[A-Za-z0-9]+'|\d+)$" -
您尝试的模式
^[A-Za-z]+\s[=]\s[A-Za-z]+$与第二个字符串radius = 'value'不匹配如果您不是要匹配单引号,您可以将匹配数字添加到第二个字符类^[A-Za-z]+\s[=]\s[A-Za-z0-9]+$@ 987654322@