#regex #unix #pcre #ack
Вопрос:
Я использую ack для поиска всех значений ширины, заключенных в одинарные или двойные кавычки.
Например: width="23"
, width='420'
Регулярное выражение Pal подтверждает /width=("|')d 1/g
, что это правильное регулярное выражение для работы. Однако мне трудно предоставить это регулярное выражение ack.
<prompt>$ ack 'width=("|')d 1'
<— Побег '
в регулярном выражении вроде '
не помог
<prompt>$ ack 'width=("|\')d 1'
<— Ни один не сделал этого.
Есть какие-нибудь идеи?
Комментарии:
1. пробовать
"width=("|')d 1"
. Удачи.2. Или
'width=("|'"'"')d 1'
3. @Shawn.. Не хотели бы вы предоставить это в качестве ответа? Это сработало для меня. Большое спасибо.
Ответ №1:
"width=['"]d ['"]"
работает на меня. Квадратные скобки определяют набор символов, содержащих '
(сами по себе) и "
(выделенные из-за окружающих двойных кавычек).
Он также работает с grep, но вам нужна эта -P
опция, потому d
что она не входит в стандартное регулярное выражение grep.