Регулярное Выражение

  • Автор темы rakot
  • Дата начала
R

rakot

#1
Доброго времени суток, решал задачу и понял что моих знаний по составлению regex не хватает,хотя ничего нетривиального вроде нет,на просторах инета толковых вариантов не нашел,прошу помочь:
есть произвольная строка,скажем : ".....base on contract 3048 bla-bla-bla on TTN 02-z7609 bla-bla"))
найти необходимо именно номера ,тоесть ситуация с том что перед номером с абсолютной точностью будет либо TTN либо contract но их(эти слова) в выборку включать не надо.Подскажите,коллеги.
примерно регулярка выглядит так \TTN .*? | \contract .*? и всё вроде хорошо но было бы неплохо отказаться от границ из которых происходит выборка
 

AndreyS

Active member
15.10.2007
39
0
#2
Код на C#

Для ТTN
Match str1 = Regex.Match("произвольная строка", "TTN ([0-9 /-]*), RegexOptions.IgnoreCase);

if (str1.Success)
{
tmp=str1.Groups[1].Value;
}

Тоже самоэ делаеш для contract, так как если поставить TTN|contract то буде т передлаватся только последнее совпадение по шаблону.