搜索 2 个特定字母后跟 4 个数字 Regex
Posted
技术标签:
【中文标题】搜索 2 个特定字母后跟 4 个数字 Regex【英文标题】:Search for 2 specific letters followed by 4 numbers Regex 【发布时间】:2020-01-08 11:37:44 【问题描述】:我需要检查一个字符串是否以 2 个特定字母开头,然后是任意 4 个数字。
这两个字母是“BR”,因此 BR1234 有效,例如 BR7412。
我需要哪些代码来检查字符串是否与 C# 中的正则表达式匹配?
我写的正则表达式如下,可能有更有效的写法(我是正则表达式的新手)
[B][R][0-9][0-9][0-9][0-9]
【问题讨论】:
放^
锚点:^BR[0-9]4
【参考方案1】:
你可以用这个:
Regex regex = new Regex(@"^BR\d4");
^
定义了字符串的开头(所以BR之前应该没有其他字符)
BR
匹配 - 好吧 - BR
\d
是一个数字 (0-9)
4
表示前面提到的组中必须有 4 个 (\d
)
您没有指定允许跟随四位数字的内容。如果这应该是字符串的结尾,请添加$
。
在 C# 中的用法:
string matching = "BR1234";
string notMatching = "someOther";
Regex regex = new Regex(@"^BR\d4");
bool doesMatch = regex.IsMatch(matching); // true
doesMatch = regex.IsMatch(notMatching); // false;
【讨论】:
谢谢,你知道实现这个的 c# 代码是什么样的吗? @JoeBW 具体实现了什么?要测试字符串是否匹配,请使用上面的行 (Regex regex = ...
),然后您可以像 var doesMatch = regex.IsMatch("...your string...");
一样进行测试
谢谢,我需要“Regex”类的参考/nuget
@JoeBW 不,它是框架的一部分,在 System.Text.RegularExpressions` 命名空间中标明。所以using System.Text.RegularExpressions;
就足够了。见docs【参考方案2】:
BR\d4
一些文字至少要 30 个字符长:)
【讨论】:
用这30个字符解释如何? 谢谢,你知道实现这个的 c# 代码是什么样的吗?以上是关于搜索 2 个特定字母后跟 4 个数字 Regex的主要内容,如果未能解决你的问题,请参考以下文章
Regex-在给定数量的3个字母序列之后,如何匹配特定的3个字母序列?
Regex.Replace 中的 MatchEvaluator 如何工作?