Хорошо … этот вопрос звучит странно, но я имею в виду следующее:
У меня есть конкретная группа для поиска, и я хочу, чтобы все пробелы ПОСЛЕ этой группы, но только в текущей строке, были удалены. Мой конкретный пример таков:
@subpackage Some Word Stuff
@subpackage
не принимает пробелы, но я не знал об этом в то время, и мне нужно исправить многие из этих строк. Я хотел бы найти и заменить на регулярное выражение (моя среда IDE поддерживает это), чтобы убрать пробелы между словами после КАЖДОГО экземпляра @subpackage
,
РЕДАКТИРОВАТЬ: Ясность на примере возможно
"@subpackage Some Word Stuff" -> "@subpackage SomeWordStuff"
Найти с помощью регулярного выражения ниже, заменить на пустую строку ''
,
(Просто используйте replace_all)
# '~(?mi-)(?:(?!\A)\G|^@subpackage)[^ \r\n]*\K[ ]+~'
(?xmi-) # Inline 'Expanded, multiline, case insensitive' modifiers
(?:
(?! \A ) # Matched before, start from here
\G
| # or,
^ @subpackage # '@Subpackage' at bol (remove '^' if not at bol)
)
[^ \r\n]* # Not space or line breaks
\K # Don't include anything from here back in match
[ ]+ # 1 or more spaces
Вот один для всех без пробелов.
# '~(?mi-)(?:(?!\A)\G|^@subpackage)\S*\K[^\S\r\n]+~'
(?xmi-) # Inline 'Expanded, multiline, case insensitive' modifiers
(?:
(?! \A ) # Matched before, start from here
\G
| # or,
^ @subpackage # '@Subpackage' at bol (remove '^' if not at bol)
)
\S* # 0 or more, Not whitespace
\K # Don't include anything from here back in match
[^\S\r\n]+ # 1 or more non-linebreak whitespaces
Других решений пока нет …