Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 регулярка - исключить предшествующие символы  [new]
waszkiewicz
Member

Откуда:
Сообщений: 1051
вот такая
г.[А-Яа-я]+[, ]
для г.Мухосранск , ул.Центральная
вернет г.Мухосранск
как вернуть просто Мухосранск?
24 июн 19, 15:07    [21914144]     Ответить | Цитировать Сообщить модератору
 Re: регулярка - исключить предшествующие символы  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
waszkiewicz,

var regex1 = /г.([А-Яа-я]+[, ])/gm;
var str1 = `г.Мухосранск , ул.Центральная `;

console.log(regex1.exec(str1)[1]);
VM314:4 Мухосранск 
24 июн 19, 15:18    [21914155]     Ответить | Цитировать Сообщить модератору
 Re: регулярка - исключить предшествующие символы  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
waszkiewicz,

import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "г.([А-Яа-я]+[, ])";
final String string = "г.Мухосранск , ул.Центральная ";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}
24 июн 19, 15:19    [21914157]     Ответить | Цитировать Сообщить модератору
 Re: регулярка - исключить предшествующие символы  [new]
ivanra
Member

Откуда:
Сообщений: 868
Названия городов бывают с пробелами и тире, их тоже надо добавлять в регулярку. Плюс, искать надо только до первой запятой (ленивый поиск). Поэтому паттерн для поиска группы выглядит примерно так
г.([А-Яа-я\s-]+?)\s*,

или даже так
г.(.+?)\s*,
24 июн 19, 17:19    [21914274]     Ответить | Цитировать Сообщить модератору
 Re: регулярка - исключить предшествующие символы  [new]
UScorp
Member

Откуда: Кыргызстан
Сообщений: 141
ivanra,

Немножко дополню:
г\.\s*(.+?)\s*,
28 июн 19, 14:04    [21917054]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить