Регулярное выражение для проверки количества пробелов после точки - требуется строго 2

Мне нужно проверить случаи, когда я поставил один пробел после точки и заменить его на 2 пробела. У меня есть регулярное выражение для этого, но Atom, кажется, недействителен.

(?<=\.|\") {1,}(?=[a-zA-Z])

Условия:

  1. 1 пробел после точки.
  2. Если точка с закрывающей двойной кавычкой, то 1 пробел после кавычки.

Приведенное выше регулярное выражение отлично работает для моих условий, однако Atom не может его проверить. Мне нужно использовать его для существующих файлов.

Что вы пытаетесь сделать здесь? Убрать/заменить на что? Не могли бы вы предоставить пример текста с ожидаемым результатом?

Wiktor Stribiżew 27.05.2019 11:19

Если вам нужно заменить один пробел, попробуйте ([."]) {2,}(?=[a-zA-Z]) и замените на "$1 " (без кавычек)

Wiktor Stribiżew 27.05.2019 11:22

Эй, я пытаюсь проверить, соответствует ли мой текст вышеуказанным условиям. И если есть место, которое я пропустил, поставить 2 пробела. Поэтому я думаю, что в идеале я должен проверять 1 пробел после точки.

Rutwick Gangurde 27.05.2019 11:23

Я улучшил вопрос.

Rutwick Gangurde 27.05.2019 11:25

Тогда даже ([."]) ([a-zA-Z]) для замены на $1 $2 (два пробела между $1 и $2) должно работать. См. эта демонстрация регулярных выражений.

Wiktor Stribiżew 27.05.2019 11:26

См. regex101.com/r/nb5OV6/1

Wiktor Stribiżew 27.05.2019 11:30

Да, это работает, однако мне нужно будет вручную проверить period в таких местах, как mr., или в кавычках. Но это нормально, я могу позаботиться об этом. Еще раз большое спасибо, пожалуйста, добавьте это как ответ, я приму это. :)

Rutwick Gangurde 27.05.2019 11:39

Я могу улучшить ответ, если вы предоставите образец текста с ожидаемым результатом.

Wiktor Stribiżew 27.05.2019 11:41
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
8
118
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать

([."]) ([a-zA-Z])

и заменить на $1 $2. См. демонстрация регулярных выражений и график регулярных выражений:

Подробности

  • ([."]) - Группа 1 (на ее значение ссылается $1 обратная ссылка из шаблона замены): . или "
  • - пробел (используйте \s для соответствия любому пробелу)
  • ([a-zA-Z]) - Группа 2 ($2): буква ASCII.

Спасибо чувак! Пожалуйста, можете ли вы сделать так, чтобы он выбирал только точки? Как в sentence ends. или sentence ends." Обратите внимание на пробел после точки, а во втором случае if после закрывающей кавычки. Сейчас он выбирает даже те котировки, которые не заканчиваются точкой. Следующее правило: 1 пробел после точки, а если точка находится внутри закрывающей кавычки, то пробел после закрывающей кавычки.

Rutwick Gangurde 27.05.2019 11:51

Я все равно приму ответ, так как он работает для меня.

Rutwick Gangurde 27.05.2019 11:54

@RutwickGangurde Думаю, ты хочешь (\.") ([a-zA-Z])

Wiktor Stribiżew 27.05.2019 12:03

Идеально. Я удалил " из первого, поэтому он ищет точку и пробел. Верно?

Rutwick Gangurde 27.05.2019 13:04

@RutwickGangurde Если это работает как задумано, да :) Если вам нужно искать <period><space><letter>, используйте (\.) ([a-zA-Z])

Wiktor Stribiżew 27.05.2019 13:11

Другие вопросы по теме