Регулярное выражение: сопоставление буквенно-цифровых и пробелов, за исключением пробелов - PullRequest
1 голос
/ 29 мая 2019

Моя цель - захватить буквенно-цифровые символы и все пробелы (минус начальный пробел). У меня проблема в том, что я не могу захватить пробелы, которые следуют не буквенно-цифровыми символами (символами). Я готов использовать осмотры в случае необходимости, но мне еще предстоит решить эту проблему, даже при этом.

Вот что я сделал, как описано выше:


Текст: # one 123: two `three` four (five) six

Желаемый результат: one 123 two three four five six


* Попытки регулярного выражения:

с осмотром:

(?! )[A-Za-z0-9 ]*(?<! )

Результат: one 123twothreefourfivesix

без оглядки:

[A-Za-z0-9]+(?: +[A-Za-z0-9]+)*

результат: one 123twothreefourfive

1 Ответ

1 голос
/ 29 мая 2019

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

^[^a-z0-9]+|[^a-z0-9 ]+|\s{2,}|[^a-z0-9]+$
  • ^[^a-z0-9]+ - Совпадает с чем угодно, кроме буквенно-цифровых символов в начале строки
  • [^a-z0-9 ]+ - Совпадает с чем угодно, кроме буквенно-цифровых символов и пробела
  • \s{2,} - Соответствует двум или более последовательным пробелам
  • [^a-z0-9 ]+$ - Соответствует чему-либо, кроме буквенно-цифрового символа в конце строки

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...