正则表达式检查字符串是否由逗号或单个字母数字字符串分隔的字母数字

时间:2015-06-15 03:03:54

标签: regex vb.net

我现在有以下内容,如果字符串是字母数字并用逗号分隔,它可以正常工作,但如果我只有一个字符串,它就不起作用。

"^([a-zA-Z0-9]+,)+[a-zA-Z0-9]+$"

适用于类似" 1A,1B,1C和#34;之类的东西,并不适用于" 1A"

抱歉,我对正则表达式了解不多,我只是通过搜索得到了这个。

以下是一些有效或无效的例子

1 - 有效

12 - 有效

1A - 有效

A1 - 无效

12A - 有效

A12 - 无效

1AA - 无效

A - 无效

1,2,3,6A,6B,11,11A - 有效

如果字符串中出现任何其他字符,除了数字和字母外,前缀和后缀中没有逗号或任何内容,则无效

2 个答案:

答案 0 :(得分:3)

^\d{1,2}[A-Z]?(?:,\d{1,2}[A-Z]?)*$

试试这个。看看演示。

https://regex101.com/r/hI0qP0/25

答案 1 :(得分:1)

此正则表达式适用于您Test Given Regex

^\d{1,2}+[a-zA-Z]?+(?:,\d{1,2}+[a-zA-Z]?)*$
  

定义^\d{1,2}+[a-zA-Z]?

 \d          : Represent a digit 0-9 
 {1,2}       : Minimum 1 and Maximum 2 Of previous Expressions
 \d{1,2}     : Means 1 to two digits
 +           : Previous Expression Repeats From one to unlimited times
 [a-zA-Z]    : Range Defined for all capital And Small latter [a-z] for small Latter, [A-Z] Capital: latter
 ?           : Repeat Previous Expression 0 or one Times
 [a-zA-Z]?   : One/Zero Charter from "a to z ,A to Z"
  

^\d{1,2}+[a-zA-Z]?:从一个或两个数字和一个可选字符开始

     

定义(?:,\d{1,2}+[a-zA-Z]?)*$

 ?:          : Non Capturing Group,Match zero to unlimited times//Reference link given Below
 ,           : Match Comma(Given Character must be comma)
 \d          : Represent a digit 0-9 
 {1,2}       : Minimum 1 and Maximum 2 Of previous Expressions
 \d{1,2}     : Means 1 to two digits
 +           : Previous Expression Repeats From one to unlimited times
 [a-zA-Z]    : Range Defined for all capital And Small latter [a-z] for small Latter, [A-Z] Capital: latter
 ?           : Repeat Previous Expression 0 or one Times
 [a-zA-Z]?   : One/Zero Charter from "a to z ,A to Z"
 *           : Match Previous Expression Between zero and unlimited times, as many times as possible
 $           : End of Regex
  

(?:,\d{1,2}+[a-zA-Z]?)*$:以逗号开头,然后是一个或两个数字/数字,然后是范围a-zA-Z中的一个字符此表达式匹配从0到最终时间和正则表达式结束< / p>      

^\d{1,2}+[a-zA-Z]?+(?:,\d{1,2}+[a-zA-Z]?)*$:从(一个或两个)数字开始,后跟一个字符,    启动下一个表达式(一个逗号1-2位数字和一个可选字符)并将其匹配0到无限次,尽可能多次在字符串结束之前

  1. Check online Regex Test
  2. 参考:Non Capturing Group