java - 这两个正则表达式有什么区别?

标签 java regex

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

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

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

token 可以以多个字母字符开头,并以数字序列结尾。它还可以以一个特殊字符开头,并以数字序列结束。

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

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

最佳答案

在我做对之后:

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

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

Regex101

关于java - 这两个正则表达式有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19674414/

相关文章:

java - 为什么 setCursor() 不起作用?

java - 在 ViewPager 的滑动上停止 Exoplayer

sql - Postgresql regexp_replace 'g' 标志

javascript - 在javascript中匹配css规则

java - 从左下角填充 gridview

java - 如何自动化 IntelliJ IDEA 11 项目的 Java 构建过程?

java - 在 Espresso 测试中断言 ProgressBar 的进度

mysql - 使用 REGEXP 在空格分隔列表中查找数字

r - 使用正则表达式清理电话号码

javascript - 正则表达式替换输入字段中的符号