搜索 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个字母序列?

2.理解文法和语文

.NET Regex 用于后跟一些逗号分隔数字的指令

Regex.Replace 中的 MatchEvaluator 如何工作?

R REGEX匹配-至少1个小写字母,1个数字,并且没有8个长度的特殊字符[重复]

如何在Python中用空字符串替换反斜杠后跟2个字母?