这两个正则表达式有什么区别:

[a-zA-Z!@#$%^&*()_=;.?]+[0-9]+




[a-zA-Z]+[!@#$%^&*()_=;.?][0-9]+


令牌可以以多个字母字符开头,并以数字序列结尾。它也可以以一个特殊字符开头,并以数字序列结尾。

第一个正则表达式将字符串jkl3242oij92384nji332332!23#900&6382^[email protected]_70979797分解为所需的标记,但第二个则没有。为什么呢

如何实现只允许使用一个特殊字符的概念?

最佳答案

我说对了之后:

([a-zA-Z]+|[!@#$%^&*()_=;.?])[0-9]+


以多个字母数字或一个特殊字符开头,仅以数字结尾。

Regex101

10-04 13:09