Как искать одну из двух подобных строк в Vim?

В Vim, если я хочу, делают поиск, который соответствует "planA" или "planB", я знаю, что могу сделать это:

/plan[AB]

Это работает, потому что regex допускает или A или B как его набор символов.

Но как я могу указать одну из двух полных строк? Например, "planetAwesome" или "planetTerrible"?

Это будет соответствовать обоим из них, наряду с "planetAnythingHereAsLongAsItsJustLetters":

planet\([a-zA-Z]*\)

Как я могу соответствовать только строкам, которые соответствуют "planetAwesome" или "planetTerrible" точно?

29
задан 09.12.2015, 22:21

2 ответа

/planet\(Awesome\|Terrible\)

Видеть соответствующую документацию, проблему :help /, и прокрутите вниз к разделу “The definition of a pattern”.

43
ответ дан 07.12.2019, 09:20

Для добавления к ответу Gilles Вы могли бы хотеть добавить несколько вещей там:

/\<planet\(Awesome\|Terrible\)\>

\< отмечает начало 'слова' (по существу буквенно-цифровой индикатор)
\> отмечает конец 'слова' (по существу буквенно-цифровой индикатор)

4
ответ дан 07.12.2019, 09:20

Теги

Похожие вопросы