Как использовать регулярное выражение для поиска и замены & raquo; работа в Perl? [закрыто]

Мне удалось решить эту проблему, используя размещенную версию библиотеки

<script src="https://www.gstatic.com/firebasejs/5.2.0/firebase-storage.js"></script>
-1
задан serenesat 21 January 2019 в 13:40
поделиться

1 ответ

Вам нужно использовать оператор s (подстановка), а не просто регулярное выражение. Регулярное выражение позволит вам найти текст; s позволит вам найти и заменить.

Первая часть - это шаблон, который соответствует вашему желанию, а вторая - строка , которая заменяет все того, что было найдено. Если вам нужно потенциально сопоставить это несколько раз в строке, вы добавляете суффикс g (глобально).

$line =~ s/,--(\d+)/,+$1/g;

Это находит каждый ,--, за которым следуют одна или несколько цифр (захваченных паренами в $1), и заменяет строку ,+$1, которая интерполирует захваченное число в строку.

Если ,-- не встречается ни в каком другом контексте, кроме этого, вы можете устранить необходимость в захвате числа и просто подставить строку:

$line =~ s/,--/,+/g;

Редактировать: Если строка «найти» всегда только одна цифра, тогда вам не нужно \d+; \d сделает, чтобы захватить одну цифру. Для меня привычка предполагать, что, вероятно, будет случай, когда мне нужно будет записать целое число, а не одну цифру.

Снова отредактируйте: уточнив, что регулярное выражение было шагом в правильном направлении, но замена - это способ выполнить операцию «найти и заменить».

0
ответ дан Joe McMahon 21 January 2019 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: