Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 我需要对此正则表达式进行哪些修改,以便只在字符串中有数字之后才允许使用小写字母?_Regex - Fatal编程技术网

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+次,以防止匹配空字符串
  • $
    字符串结尾