Не выходит заставить регулярное выражение принимать только точку. В строке присутствует как точка так и многоточие(при чем как в первом так и во втором случае возможны "лишние" пробелы): Это строка... Это строка . Это строка.
. Многоточие нахожу так: "\\s*\\.{3}\\s*"
. После чего пытаюсь найти и заменить все точки так: "\\s*\\.{1}\\s*"
. В результате получаю то что последнее выражение находит точки одиночные и в многоточиях. Как исключить многоточия для данного выражения?
Вы можете использовать блоки предварительного просмотра вперед и назад, чтобы найти только те точки, перед и за которыми нет других точек:
"\\s*(?<!\\.)\\.(?!\\.)\\s*"
Тут (?<!\.)
находит совпадение, если сразу перед точкой нет другой точки, а (?!\.)
проверяет, нет ли точки после точки, которая находится с помощью шаблона \.
.
См. демо регулярного выражения.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется класс с аннотацией @ConfigurationPropertiesВ нем находятся поля, которые подгружаются из файла
Есть клиент на java, который отправляет длинный json на сервер, который написан на pythonЕсли длина json'а не очень большая, то все нормально отправляется
Хочу проверить строку на наличие хаотически выставленных букв разных регистровДля примера строка на входе:
До меня дошли страшные слухи, что на iOS нет JVMБолее того, до меня дошли страшные слухи, что будто бы фирма Эппл не разрешает ставить JVM на iOS