c#regex获取具有特定字母和数字序列的字符串

c#regex获取具有特定字母和数字序列的字符串,c#,regex,C#,Regex,我在这里到处找了找,但没有找到满意的答案,所以我决定去问。 我需要搜索字符串集合以查找以下表达式: AB 12345 AC 12345 我试过这个正则表达式 [A][BC][ ]\d{5} 但不幸的是,弦乐中也有 #XXAB 1234567890123 GGAB 12345678901 AB 123456 SAB 123456789 上面的表达式得到所有这些都是有效的。 我已经找到并试过了 [A][BC][ ]\d{5}$ 但这与任何东西都不匹配 所以问题是,有没有一个表达式可以找到5个

我在这里到处找了找,但没有找到满意的答案,所以我决定去问。 我需要搜索字符串集合以查找以下表达式:

AB 12345
AC 12345
我试过这个正则表达式

[A][BC][ ]\d{5}
但不幸的是,弦乐中也有

#XXAB 1234567890123
GGAB 12345678901
AB 123456
SAB 123456789
上面的表达式得到所有这些都是有效的。 我已经找到并试过了

[A][BC][ ]\d{5}$
但这与任何东西都不匹配

所以问题是,有没有一个表达式可以找到5个数字后跟除更多数字以外的任何数字的字符串

从答案中,我认为在我的论述中我并不清楚,字符串是在一个较大的字符串的中间,所以我设置了一些我必须匹配的字符串:

MY DESCRIPTION WITH DATA XXXAB 12345BCD 
而且

MY SECOND DESCRIPTION WITH DATA REF. AB 12345
MY THIRD DESCRIPTION WITH DATA REFAB 12345
AB 12345WITH A DESCRIPTION FOLLOWING
AB 12345 WITH A SPACE AND DESCRIPTION FOLLOWING
而且

MY SECOND DESCRIPTION WITH DATA REF. AB 12345
MY THIRD DESCRIPTION WITH DATA REFAB 12345
AB 12345WITH A DESCRIPTION FOLLOWING
AB 12345 WITH A SPACE AND DESCRIPTION FOLLOWING
而且

MY SECOND DESCRIPTION WITH DATA REF. AB 12345
MY THIRD DESCRIPTION WITH DATA REFAB 12345
AB 12345WITH A DESCRIPTION FOLLOWING
AB 12345 WITH A SPACE AND DESCRIPTION FOLLOWING

数据库中的字符串都是大写。

只需使用
^
来指示行的开头:

^A[BC] \d{5}$
这将匹配以
A
开头的任何行,后跟
B
C
,然后是空格和5位数字。之后就没有别的了

注意,我说的是
A
而不是
[A]
,因为只要有多个可能的字符,就会使用字符类
A
[A]
是等价的,所以只要说
A
就可以简化


现场查看:显示它如何匹配您给出的示例,而不是其他示例。

使用
向前看

A[BC] \d{5}(?!\d)
见演示


[0-9]{5}(^[0-9])*$
-后面紧跟数字以外的任何数字感谢这个字符串,但将它与结尾$I一起使用可能是.Net?没有结尾的$似乎有效,但后来我发现一个字符串的形式是:XYAB 1234567 1234。看来这真的很棘手。无论如何,谢谢您,在字符串
XYAB 1234567 1234
中,您没有“5个数字后面跟任何数字,除了更多数字”:
1234
只是4位数字,而不是5位,
34567
后面跟
1234
,因此我的正则表达式IMHO是正确的。可能你想把条件“5个数字后面跟着除更多数字以外的任何数字”换言之?是的,你说的是正确的,排除您显示的大小写将有助于我的搜索,但我有像XXAB 12345XY67这样的字符串和像BLA BLA AB 12345 BLA BLA BLA BLA BLA BLA BLA之类的字符串,当表达式包含$时,它们也被认为是不正确的。使用$符号不会给出任何有效字符串,这就是为什么我说这种表达式可能存在.net问题。谢谢,对不起,没有正确解释,但我的字符串是在一个更大的字符串中,我添加到请求。这是正确的,只有五个数字匹配的记录。非常感谢大家的帮助。谢谢,你的回答让我注意到我的问题不清楚,字符串通常在一个更大的字符串的中间,即使它们可以在开始或结尾,但情况并不总是如此。@ SabiNaaLCS然后更新应该匹配的情况和不应该出现的情况。与所需的匹配一起获得。顺便说一句,解决它。