Регулярное выражение, вырезать фрагмент.
От: loggik  
Дата: 18.03.13 18:07
Оценка:
Привет.

Есть паттерн регулярного выражения. Допустим blabla anytext lala.

blabla и lala это краевые идентификаторы. Если теперь я сделаю match для какой нибудь строки, и если паттерн подойдет, то в совпадениях функция вернет строку с краевыми условиями также.
Например для паттерна blabla(.*)lala для строки 1241241blablaAAAAAlala23532523 match вернет blablaAAAAAlala.
Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.

Спасибо.
Re: Регулярное выражение, вырезать фрагмент.
От: uzhas Ниоткуда  
Дата: 18.03.13 18:18
Оценка:
Здравствуйте, loggik, Вы писали:

L>Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.


вам нужно использовать capturing group
вместо паттерна blabla anytext lala используйте такой:

blabla (anytext) lala

а еще укажите на каком языке вы программируете и что используете для матчинга регулярных выражений (какую библиотеку?)
Re[2]: Регулярное выражение, вырезать фрагмент.
От: loggik  
Дата: 18.03.13 18:56
Оценка:
Здравствуйте, uzhas, Вы писали:

U>Здравствуйте, loggik, Вы писали:


L>>Ну и собственно можно как-то сразу в регулярном выражении указать чтобы возвращался фрагмент который меня интересует, в данном случае AAAAA.


U>вам нужно использовать capturing group


спасибо, именно про это и спрашивал.
Re: Регулярное выражение, вырезать фрагмент.
От: jazzer Россия Skype: enerjazzer
Дата: 19.03.13 02:05
Оценка:
Здравствуйте, 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
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.