2

Я хочу заключить первое слово в квадратные скобки и "все", которое следует после пробела в квадратных скобках.

К сожалению, команда: (\w) (.*) Не работает.

Например, для предложения «Как сопоставить слово, за которым следует что-либо», оно будет соответствовать «w, чтобы соответствовать слову, за которым следует что-либо»

1 ответ1

6

\w представляет собой символ слова, а не слово в том смысле, который вы имеете в виду. То есть, одно письмо от az и AZ.

Чтобы соответствовать вашему требованию, укажите ^(\w+) (.*)$ .

Это разбивается на:

^ - начало строки

( - Начать захват группы

\w - Любой символ, соответствующий az или AZ

+ - хотя бы 1 или более предыдущего типа

) - Конец нашей группы захвата

- космический персонаж

( - Начните нашу вторую группу захвата

. - Любой не-символ новой строки

* - 0 или более предыдущего типа

) - конец группы захвата

$ - конец строки

Это будет соответствовать, используя ваше примерное предложение How to match a word followed by anything , Группа 1 = How и Группа 2 =, to match a word followed by anything

Предполагая, что вы хотите удалить первое слово, теперь вы можете использовать \2 в поле замены, чтобы заменить все совпадения всем, кроме первого слова.

Или, снова взглянув на первое предложение, и вы хотите заключить квадратные скобки вокруг первого слова, а затем в оставшуюся часть предложения заменить на \(\1\) \(\2\) - то есть literal left parenthesis , capture group 1 , literal right parenthesis , space , literal left parenthesis , capture group 2 , literal right parenthesis .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .