我需要一个 4 个字符的正则表达式。前 3 个字符必须是数字,后 1 个字符必须是字母或数字。
我形成了这个,但它不起作用
^([0-9]{3}+(([a-zA-Z]*)|([0-9]*)))?$
一些有效匹配:889A
, 777B
,8883
我需要一个 4 个字符的正则表达式。前 3 个字符必须是数字,后 1 个字符必须是字母或数字。
我形成了这个,但它不起作用
^([0-9]{3}+(([a-zA-Z]*)|([0-9]*)))?$
一些有效匹配:889A
, 777B
,8883
I need a regular expression for first 3 will be a number and the last 1 will be a alphabet or digit
这个正则表达式应该工作:
^[0-9]{3}[a-zA-Z0-9]$
这假设字符串的长度只有 4 个字符。如果不是这种情况,请删除行尾锚$
并使用:
^[0-9]{3}[a-zA-Z0-9]
尝试这个
这将在任何地方匹配它。
\d{3}[a-zA-Z0-9]
这将仅匹配字符串的开头
^\d{3}[a-zA-Z0-9]
你也可以试试这个网站: http: //gskinner.com/RegExr/
它使创建和测试您的正则表达式变得非常容易。
把星星拿出来...
^([0-9]{3}+(([a-zA-Z])|([0-9])))?$
星星意味着它之前的零个或多个东西。您已经在使用 or ( |
) ,因此您希望完全匹配一个类或另一个类,而不是该类的零个或多个,或者另一个类的零个或多个。
当然,还可以进一步简化:
^\d{3}[a-zA-Z\d]$
字面意思是......三个数字,后跟一个小写或大写 az 或任何数字的字符。