вспомнить значение в регулярном выражении - PullRequest
2 голосов
/ 24 февраля 2012

У меня есть следующее регулярное выражение, работающее в sed, но я хочу сохранить значение.Я хочу сохранить текстовое значение привязки.В этом случае это 3. Прямо сейчас ниже будет выводить [] везде, где есть якорный тег с href, в котором есть знак решетки.Я хочу, чтобы это было [3] вместо [].Число является динамическим, поэтому в данном случае оно равно 3, но оно будет отличаться каждый раз.В любом случае, чтобы получить это число, а затем вспомнить его в регулярном выражении?

echo '<a href="#anchor3">3</a>' | sed 's:<a href="#.*>[0-9]</a>:[]:g'

1 Ответ

2 голосов
/ 24 февраля 2012

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

Захватывающие скобки - это всего лишь скобки для той части рисунка, которую вы хотите сохранить. Затем вы можете перезвонить им при замене, используя \1 (для первого набора скобок), \2 и т. Д.

echo '<a href="#anchor3">3</a>' | sed -r 's:<a href="#.*>([0-9])</a>:[\1]:g'

# returns '[3]'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...