我现在有以下内容,如果字符串是字母数字并用逗号分隔,它可以正常工作,但如果我只有一个字符串,它就不起作用。
"^([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
- 有效
如果字符串中出现任何其他字符,除了数字和字母外,前缀和后缀中没有逗号或任何内容,则无效
答案 0 :(得分:3)
答案 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到无限次,尽可能多次在字符串结束之前