Совпадение слов, не начинающихся с определенного символа - PullRequest
1 голос
/ 24 мая 2019

Я пытаюсь пометить и заменить слова, которые не начинаются с # в тексте.Текстовый файл выглядит следующим образом:

Some words #word #anotherword #etc
Some more words #words #anotherword #etc #etc more words here
No words containing that character in this line
Etc

Что должно быть найдено:

Some words 
Some more words                           more words here
No words containing that character in this line
Etc

Я совершенно новичок в regex и пытаюсь найти правильный код.Самое близкое, что я получил - это пометить весь текст, исключая только знак #, а не слово, прикрепленное к нему.Часть после # не должна быть выбрана.Примечание: специальные символы и цифры также существуют и должны быть отмечены, но не те, что после #.Как мне сделать это самым простым способом?

1 Ответ

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

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

(?<!\S)[^\s#]\S*

Детали

  • (?<!\S) - символ пробела или начало строки должны предшествовать текущей позиции
  • [^\s#] - любой символ, кроме пробелов и #
  • \S* - любые 0+ непробельных символов.

См. Демонстрация регулярных выражений .

...