Обратите внимание на ваши альтернативы 172\.ab|c|de будет распарсено не как 172.ab | 172.c | 172.de, а как 172.ab | c | de
Правильный синтаксис: 172\.(ab|c|de)
Перепишите с использованием группировок.
Джерри Фридл (Jerry Friedl) – «Mastering Regular Expression», есть и на русском.
От создателя регулярных выражений. Читается хорошо, дается понимание чуть больше, чем просто синтаксис.
Вообще, это нехорошо на чужом сервере... регуляркой такое лучше не трогать. Если они позволяют возвращать кавычки внутри имени, то могут вернуть что-то и с одной, и двумя и тремя.
Чито в регулярках так нельзя, исключить можно набор символов, но не упорядоченное слово.
В вашем случае проверять work/ и проверять отсутствие admin нужно двумя отдельными условиями.
Стандартов регэкспов несколько. и MS не особо жаждет стандартизировать свои регулярки с распространенным PCRE или еще чем-то. В том же Word у него вообще что-то свое.
Поэтому читайте документацию по findstr и пишите регулярку, которую он умеет парсить.
А еще лучше, поставьте себе git, с которым идет куча нормально портированный linux утилит, и используйте grep
По-кривому можно и так
.*">(.*)<\/a>.*">(.*)<\/a>.*href
(https://regex101.com/r/vU8cU1/1)
А по нормальному, надо весь html смотреть чтобы не было проблем.
Но вообще, лучше пользоваться библиотеками для парсинга тегов.
Можно использовать опцию SED -i, что значит внести изменения в этот же файл.
Нужно использовать опцию SED -r, чтобы включить поддержку регулярных выражений
$ sed -r '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}/!d' test.txt
mple@mail.com 2918241 Ivan
test@test.ru 2151221w Kolya
more@emails.com dasdasdasd
Использовать НЕ регулярки.
У каждого инструмента есть свое назначение, и регулярки были инструментом помогающему парсить, а не самим парсером.
Можете вместо SED использовать что-то другое, где поддерживается больше бэкреференсов. Но лучше перепишите на перл или питон.