c# - 如何在 C# 中使用 REGEX 检查等号字符串
问题描述
我想检查如下所示的字符串
第一 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'
解决方案
如果您尝试的模式^[A-Za-z]+\s[=]\s[A-Za-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
)|
或者[A-Za-z]+[0-9]*
匹配 1+ 个字符 A-Za-z,后跟可选数字
)
关闭非捕获组$
字符串结束
推荐阅读
- r - 如何模拟 50 个随机样本并计算每个样本的均值和方差
- node.js - 如何将 JS 中的字符/字符串转换为 uint8?
- azure-service-fabric - 应用程序见解接收器选项未在服务结构的应用程序见解中显示性能计数器
- javascript - 我想知道是否可以在 json 文件中使用 switch 语句
- django - 如何修复从 angular 7 到 django rest 的上传文件
- hlsl - 如何在 HLSL 中处理 8 位字符数据?
- firebase - 无法更改 firebase pubsub 触发器的位置
- javascript - 在没有 Ajax 的情况下捕获表单提交事件
- html - 如何允许从我的网站打印但不允许另存为 pdf?
- java - 将字符串从活动传递到库类