У меня есть файл с несколькими тысячами строками, и в этом файле у меня есть некоторые выражения Regex ...

Выражения Regeex повсюду, и недавно мы изменили выражение, и мне нужно обновить их все.

Мне нужно изменить все экземпляры: [A-z -']+ с [A-z \-']+

Поэтому я попробовал делать :%s/[A-z -']+/[A-z \-']+/g, но это заменило все вхождения [A-z -']+ с [A-z -'[A-z -']+

Есть ли другой способ сделать это?

1
Quinn 25 Сен 2019 в 21:00

1 ответ

Лучший ответ

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

%s/\[A-z -']/[a-zA-Z '-]/g

Это неправильно использовать [A-z], поскольку он будет соответствовать еще много символов, чем просто [A-Za-z], и лучше перемещать дефис для завершения положения перед закрытием ], чтобы получить регулярное выражение.

3
anubhava 25 Сен 2019 в 18:04