Regex, чтобы соответствовать, только если начало строки не является чем-то?


1

У меня есть несколько строк, которые я бы хотел сопоставить, и несколько строк, которые я бы исключил из сопоставления в файле.

Я бы не хотел совпадать remote access</a> (main card) и хотел бы соответствовать anything else</a> (main card)

Я не совсем уверен, как это сказать "если есть, НЕ ПОДХОДИТ!"

Сейчас я использую возвышенный текст 2, но могу переключиться на vim или аналогичный, если это будет проще.

Спасибо!

Ответы:


2

Я бы использовал опережающее утверждение :

^(?!remote access)[^<]*</a> \(main card\)

По какой-то причине это не сработало, но потом я понял, что в возвышенном тексте установлено «только выделение». Это поможет мне начать исправление некоторых файлов!
Rob

AAA, и я получил все, где это должно быть все сразу! Это был огромный старт на то, что мне было нужно!
Rob

2

В Vim вы можете использовать \@<! регулярное выражение атома, чтобы утверждать, что атом, прежде чем он делает не матч. В вашем примере это будет:

/\%(remote access\)\@<!<\/a> (main card)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.