String.split () не работает с моим регулярным выражением, которое ищет элементы, разделенные запятыми - PullRequest
0 голосов
/ 12 марта 2012

Не могли бы вы сказать, почему мой шаблон регулярных выражений, который работает в 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);

emails пусто: (

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

Я считаю, что String.split нужен разделитель, а не весь шаблон.

В вашем случае вы можете просто поставить это

text.split(";\\s*")
1 голос
/ 12 марта 2012

Почему бы вам просто не использовать регулярное выражение ";\\s*"?

String text = "sdf.an@dfgdfg.com;   sdfsdf@fdfd.erff";
String regex = ";\\s*";
String [] emails = text.split(regex);
for(String ss : emails) System.out.println(ss);

ВЫХОД:

sdf.an@dfgdfg.com
sdfsdf@fdfd.erff
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...