2017-01-14 3 views
1

2 Возник вопрос: как собрать с помощью MinGW boost? (ОС: Windows) И как использовать регулярные выражения для сокращения строки?regex + сборник boost?

Предположим, что существует строка: 192.168.1.1, мне нужно отключить линию после 2 байтов. Оказывается: Вход: 192.168.1.1 Выход: 192.168. .

Заранее спасибо.

PS: Извините за мой неуклюжий английский язык.

+0

Я, вероятно, не буду использовать 'regex' для этого. Простое манипулирование строками сделало бы это. – Galik

+0

Нам нужно это через регулярное выражение – continue98

ответ

0

Althogh вам не понадобилось регулярное выражение для этого, но если вы говорите, регулярное выражение является обязательным, то вы можете попробовать это:

(\d+\.\d+\.)\d+\.\d+ 

Пример кода:

string regx = R"((\d+\.\d+\.)\d+\.\d+)"; 
string input = "192.168.1.1"; 
smatch matches; 
    if (regex_search(input, matches, regex(regx))) 
    { 
     cout<<matches[1]<<"."<<endl; 
    } 

Execute it here

Выход:

192.168..