java - String.split() 不适用于我搜索逗号分隔项目的正则表达式

标签 java regex

您能告诉我为什么我在 String.matches() 中工作的正则表达式模式不能使用 String.split 分割给定的字符串吗?

这是代码:

String text = "sdf.an@dfgdfg.com;   sdfsdf@fdfd.erff";
String regex = "(\\b[\\w.%-]+@[\\w.]+\.[a-zA-Z]{2,4}\\b)([,;]\\s*\\b[\\w.%-]+@[\\w.]+\.[a-zA-Z]{2,4}\\b)*";
String [] emails = text.split(regex);

电子邮件为空:(

最佳答案

我相信 String.split 需要一个分隔符而不是整个模式。

在你的情况下,你可以简单地把这个

text.split(";\\s*")

关于java - String.split() 不适用于我搜索逗号分隔项目的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9661431/

相关文章:

Java泛型方法,如何使两个参数具有相同的类型?

java - 有没有一种方法可以从 SQL 数据库中提取表数据,而无需使用 Java 中的 ResultSet 类?

java - 处理 AsyncCallback<T>?

java - 使用 boolean 值同步

python - 正则表达式统一 Python 中的电话号码格式

c# - RegEx 仅从 CSS 文件中提取选择器?

java - 无法缩小我的正则表达式以找到定义的组

regex - 用正则表达式替换csv中的千位分隔符

java - 如何修复 Android 中的 RxAndroid 错误

php - 正则表达式模式匹配带有或不带有 http ://www 的 URL