Вы можете попытаться сопоставить это:
\d+ - (\d+) of \1
И замените на $1
, это то, что захватила группа 1.
\d
- это цифра класс символов , +
- это один или более повтор .(…)
является группой захвата , а \1
ссылается на то, что соответствует этой группе.Таким образом, это будет соответствовать таким строкам, как:
num1 - num2 of num2
| |
\________/ must match
Ссылки
Изменение
Этот шаблон является небольшой модификацией, которая более гибкая вего пробельные совпадения:
\d+\s+-\s+(\d+)\s+of\s+\1
Это похоже на предыдущий шаблон, но там, где раньше у нас был буквальный пробел, мы теперь используем \s+
, который является шаблоном, который соответствует непустой последовательностилюбое количество пробельных символов.Это включает в себя новые строки, вкладки и т. Д.
Если третье число не должно совпадать со вторым, просто используйте другое \d+
вместо \1
.
\d+\s+-\s+\d+\s+of\s+(\d+)
Теперь это будет соответствовать строкам типа "1 - 20 of 149"
, будучи либеральным с пробелом.Теперь скобка перемещается в соответствии с третьим числом, поэтому, если всю строку следует заменить этим числом (в данном случае 149
), просто замените на $1
.
Если вы хотите захватитьвсе 3 числа по отдельности, вы можете написать что-то вроде этого:
(\d+)\s+-\s+(\d+)\s+of\s+(\d+)
\___/ \___/ \___/
1 2 3
Теперь первое число захватывается группой 1, второе число группой 2, а третье число группой 3.