Задать вопрос
@n199a
Java

Как найти строку с помощью регулярного выражения, содержащую определенный тип знака препинания?

Имеются строки вида:
1, 2, 3
1. 2. 3
1 - 2 - 3

Как найти строки с помощью регулярного выражения, содержащую определенный тип знака препинания, чтобы было так:
1, 2, 3 (корректная, т.к. для разделения чисел используется один знак препинания)
1. 2. 3 (корректная, т.к. для разделения чисел используется один знак препинания)
1, 2. 3 (НЕ корректная, т.к. для разделения чисел используется два типа знаков препинания: точка и запятая)


Начал составлять такое регулярное выражение \\p{P}*^[a-zA-Z]+
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@dodo512
String regex = "^\\d+([,.])\\h*\\d+(\\1\\h*\\d+)*$";

https://regex101.com/r/c4RYTj/1
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
\d+(\s*[,.]\s*\d+)*

ps
вот так (исправил )))
^\s*\d+(\s*\.\s*\d+\s*)*$|^\s*\d+(\s*\,\s*\d+\s*)*$
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы