Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中使用正则表达式检查字符串中的等号#_C#_.net_Regex - Fatal编程技术网

C# 如何在C中使用正则表达式检查字符串中的等号#

C# 如何在C中使用正则表达式检查字符串中的等号#,c#,.net,regex,C#,.net,Regex,我想检查如下所示的字符串 第一个半径=120 及 第二个半径='值' 这是我的密码 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}$”时,仅匹配第一个字符串 我还

我想检查如下所示的字符串

第一个
半径=120

第二个
半径='值'

这是我的密码

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'

根据你的努力,看起来你好像在想办法

^[A-Za-z]+\s=\s(?:'[A-Za-z0-9]+'|\d{1,3})$
看。详情:

  • ^
    -字符串的开头
  • [A-Za-z]+
    -一个或多个ASCII字母
  • \s=\s
    -包含单个空格字符的
    =
    字符
  • (?:'[A-Za-z0-9]+'|\d{1,3})
    -一个与
    • '[A-Za-z0-9]+'
      -
      '
      ,然后是一个或多个ASCII字母或数字,然后是一个
      '
    • |
      -或
    • \d{1,3}
      -一位、两位或三位数字
  • $
    -字符串结尾(实际上,
    \z
    在验证时更安全,因为在
    \z
    之后不可能有最后的尾随换行符,在
    $
    之后也可能有这样的换行符,但这也取决于您如何获得输入)

如果您尝试的模式与第二个字符串
radius='value'
匹配,则表示
'value'
仅由字符A-Za-z组成

在这种情况下,您可以向第二个字符类添加匹配的数字:

^[A-Za-z]+\s=\s[A-Za-z0-9]+$

如果要匹配1-3个数字或至少一个字符a-Za-z后跟可选数字:

^[A-Za-z]+\s=\s(?:[0-9]{1,3}|[A-Za-z]+[0-9]*)$
模式匹配:

  • ^
    字符串的开头
  • [A-Za-z]+\s=\s
    将第一部分与字符A-Za-z和
    =
    符号匹配(注意
    =
    不必在方括号之间)
  • (?:
    非捕获组
    • [0-9]{1,3}
      匹配1-3位数字(您可以使用
      \d{0,3}
      ,但由于
      0
      ,这也将匹配emtpy字符串)
    • |
    • [A-Za-z]+[0-9]*
      匹配1+字符A-Za-z,后跟可选数字
  • 关闭非捕获组
  • $
    字符串结尾

这三个例子是否涵盖了所有可能的情况?我的观点是:你应该提到什么是匹配条件。。。在我看来,这三个案例并不像所有可能的案例。i、 e:RHS中的数字总是三位数吗?根据你给我们看的,用一些替代的方法怎么样。我想你可以根据自己的需要取消一些限制。如果你不想匹配单引号,那么使用与第二个字符串不匹配的
^[A-Za-z]+\s(?:'[A-Za-z0-9]+'.\d+$”
模式
^[A-Za-z]+\s[=]\s[A-Za-z]+$
,您可以将匹配的数字添加到第二个字符类
^[A-Za-z]+\s[=]\s[A-Za-z0-9]+$