Как искать вхождения более одного пробела между словами в строке



Как искать вхождения более одного пробела между словами в строке



1. this is a line containing  2 spaces
2. this is a line containing 3 spaces
3. this is a line containing multiple spaces first second three four


все вышеизложенное является допустимыми совпадениями для этого регулярного выражения. Какое регулярное выражение я должен использовать?

511   4  

4 ответов:

[ ]{2,}

пробел (2 или более)

вы также можете проверить, что до и после этих пространствах последующие слова. (не другие пробелы, такие как вкладки или новые строки)

\w[ ]{2,}\w

то же самое, но вы также можете выбрать (захват) только пробелы для таких задач, как замена

\w([ ]{2,})\w

или увидеть, что до и после пробелов есть что-нибудь, а не только символы слов (кроме пробелов)

[^\s]([ ]{2,})[^\s]

простое решение:

/\s{2,}/

Это соответствует всем вхождениям одного или нескольких символов пробела. Если вам нужно сопоставить всю строку, но только если она содержит два или более последовательных пробельных символа:

/^.*\s{2,}.*$/

Если пробелы не должны быть последовательными:

/^(.*\s.*){2,}$/

искать [ ]{2,}. Это позволит найти два или более смежных пространства в любом месте линии. Он также будет соответствовать ведущим и конечным пробелам, а также линиям, которые полностью состоят из пробелов. Если вы не хотите этого, проверьте ответ Александра.

на самом деле, вы можете оставить скобки, они просто для ясности (в противном случае символ пробела, который повторяется, не так хорошо виден :)).

проблема с \s{2,} это то, что он также будет соответствовать новым строкам в файлах Windows (где новые строки обозначаются CRLF или \r\n что соответствует \s{2}.

если вы также хотите найти несколько вкладок и пробелов, используйте [ \t]{2,}.

вот мое решение

[^0-9A-Z,\n]

это удалит все цифры, запятые и новые строки, но выберите среднее пространство, такое как набор данных

  • 20171106,16632 ESCG0000018SB
  • 20171107,280 ESCG0000018SB
  • 20171106,70476 ESCG0000018SB

Comments

    Ничего не найдено.