Привет.
Есть паттерн регулярного выражения. Допустим blabla anytext lala.
blabla и lala это краевые идентификаторы. Если теперь я сделаю match для какой нибудь строки, и если паттерн подойдет, то в совпадениях функция вернет строку с краевыми условиями также.
Например для паттерна blabla(.*)lala для строки 1241241blablaAAAAAlala23532523 match вернет blablaAAAAAlala.
Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.
Спасибо.
Здравствуйте, loggik, Вы писали:
L>Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.
вам нужно использовать capturing group
вместо паттерна blabla anytext lala используйте такой:
blabla (anytext) lala
а еще укажите на каком языке вы программируете и что используете для матчинга регулярных выражений (какую библиотеку?)
Здравствуйте, loggik, Вы писали:
L>Привет.
L>Есть паттерн регулярного выражения. Допустим blabla anytext lala.
L>blabla и lala это краевые идентификаторы. Если теперь я сделаю match для какой нибудь строки, и если паттерн подойдет, то в совпадениях функция вернет строку с краевыми условиями также.
L>Например для паттерна blabla(.*)lala для строки 1241241blablaAAAAAlala23532523 match вернет blablaAAAAAlala.
L>Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.
zero-width assertions
(?<=blabla ).*(?= lala):
пример (меняем то, что нашли, на new):
$ echo 'blabla anytext lala' | perl -pe 's/(?<=blabla ).*(?= lala)/new/;'
blabla new lala