Регулярные выражения с++ и boost::regex

189
26 ноября 2016, 19:03

Помогите пожалуйста с рег. выражением. Как сделать так чтобы вот это выражение ([^a-zA]*) принимало только числа и запятую? Например assign = "var=345.256"

std::string assign; 
boost::regex regex("([a-zA-Z0-9]*)=([^a-zA]*)"); 
boost::cmatch result; 
std::string identifier; 
double value; 
if (boost::regex_match(assign.c_str(), result, regex)) 
{ 
    identifier = std::string(result[1].first, result[1].second); 
    value = boost::lexical_cast<double>(std::string(result[2].first,result[2].second)); 
}
Answer 1

Нужное Вам регулярное выражение может выглядеть так: "(\\w+)=([+-]?(\\d*[.,])?\\d*)", или так R"xx((\w+)=([+-]?(\d*[.,])?\d*))xx".

READ ALSO
Не могу понять в чем ошибка [закрыто]

Не могу понять в чем ошибка [закрыто]

По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастанияФормат входных данных Вводится...

273
Ошибка при работе с компаратором [закрыто]

Ошибка при работе с компаратором [закрыто]

Пишу свой двунаправленный список (шаблонный класс)Нужно организовать вставку с автосортировкой (т

166
Удалить все четные числа [закрыто]

Удалить все четные числа [закрыто]

Дан текстовый файл, содержащий целые числаУдалить из него все четные числа

597