Исключить пробелы, которые состоят только из символов табуляции в шаблоне RegEx - PullRequest
2 голосов
/ 12 апреля 2020

Я пытаюсь захватить пробельные символы, когда их два или более в строке, а также отдельные неразрывные пробелы. Мой шаблон RegEx выглядит следующим образом и в настоящее время достигает этого:

/((\s| ){2,}| )/g

Я хотел бы изменить этот шаблон так, чтобы, если два или более пробельных символа содержались только на вкладке \t характер, то они игнорируются. Как бы я это сделал?

Примеры:

'\t\t' needs to be ignored
' \t' needs to be captured
'\t ' needs to be captured
' ' needs to be ignored
'\t' needs to be ignored
' \t' needs to be captured
'  ' needs to be captured
' ' needs to be captured

1 Ответ

2 голосов
/ 12 апреля 2020

Вы можете использовать это регулярное выражение:

(( |\t| )*(?: )+[ \t]*| +[ \t]+|\t+ +[ \t]*)

Демонстрация RegEx

Подробности RegEx:

  • [ \t]*(?: )+[ \t]*: соответствует 1+  , окруженному 0 или более пробелами / символами табуляции
  • +[ \t]+: соответствует 1+ пробелу, за которым следуют 1+ пробел или символы табуляции
  • \t+ +[ \t]*: Подберите 1+ вкладки, затем 1+ пробел и затем 0 или более пробелов / табуляций
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...