C # регулярное выражениеДополнительное совпадение после строки - PullRequest
0 голосов
/ 14 мая 2010

У меня есть такой ввод test1.test2.part01, который я хочу удалить до test1.test2. Единственное, что я знаю, это то, что оно заканчивается partxx и, вероятно, точкой перед partxx. Однако это не всегда будет обособленно. Другим примером ввода может быть testas1.tlp2.asd3.part10, который, конечно, должен быть обрезан до testas1.tlp2.asd3.

Я сделал все это, без проблем. Проблема в точке в конце перед partxx. Мое регулярное выражение на данный момент:

(.*)\.?part\d{1,2}

Но это будет точка в группе. Я не хочу, чтобы точка была в группе. Ниже работает, как я хочу, учитывая, что точка существует, но она не всегда будет там.

(.*)\.part\d{1,2}

Как я могу исключить необязательную точку из группы?

1 Ответ

3 голосов
/ 14 мая 2010

Побег из точки

(.*)\.?part\d{1,2}

Как вы понимаете, точка интерпретируется как означающая «любой символ», а не как буквальная точка.

С другой стороны,

s/\.part\d\d?$//;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...