Regex 我需要对此正则表达式进行哪些修改,以便只在字符串中有数字之后才允许使用小写字母?
我有一个正则表达式:Regex 我需要对此正则表达式进行哪些修改,以便只在字符串中有数字之后才允许使用小写字母?,regex,Regex,我有一个正则表达式: ^[a-z0-9](?:[a-z0-9]+)*$ 我如何修改它,使小写字母只能出现在有数字的字符串中,并且只能出现在该数字之后 这些是预期的匹配: AA AB 1a 1b 1A 1B A1A A1a AB1 AB2 AB1a AB2b 这些措施将失败: Aa Ab a1 b1 Ab1 a1a 我将使用正向查找来断言任何小写字母之前必须有一个数字: ^(?:[A-Z0-9]|(?<=[0-9])[a-z])*$ ^(?[A-Z0-9]|(?作为替代方案,不带查找
^[a-z0-9](?:[a-z0-9]+)*$
我如何修改它,使小写字母只能出现在有数字的字符串中,并且只能出现在该数字之后
这些是预期的匹配:
AA
AB
1a
1b
1A
1B
A1A
A1a
AB1
AB2
AB1a
AB2b
这些措施将失败:
Aa
Ab
a1
b1
Ab1
a1a
我将使用正向查找来断言任何小写字母之前必须有一个数字:
^(?:[A-Z0-9]|(?<=[0-9])[a-z])*$
^(?[A-Z0-9]|(?作为替代方案,不带查找功能的解决方案可以匹配[0-9][A-z]
并重复外部组1次或多次,以防止匹配空字符串
^(?:[A-Z0-9]|[0-9][a-z])+$
解释
^
字符串的开头
(?:
非捕获组
[A-Z0-9]
匹配A-Z或0-9
|
或
[0-9][a-z]
匹配0-9,然后匹配a-z
)+
关闭组并重复1+次,以防止匹配空字符串
$
字符串结尾