Опитвам се да съпоставя имена на файлове с помощта на boost::regex
и имам два вида шаблони:
XYZsomestring
XYsomestringENDING
Низът somestring
може да бъде всичко (>0 знака). Началото на името на файла е XYZ
или XY
. Ако е XY
, трябва да има низ ENDING
, който завършва цялата последователност. Опитах се да комбинирам два регулярни израза с |
, но не работи. Това съвпада с имена на файлове с първия модел:
(XYZ)(.*)
и това съвпада с имена на файлове с втория модел:
(XY)(.*)(ENDING)
Но когато ги комбинирам, само първият шаблон съвпада:
((XYZ)(.*))|((XY)(.*)(ENDING))
Всичко това трябва да е без значение за главни и малки букви, затова използвам boost::regex::icase
в конструктора. Опитах го без това icase
, също не работи).
Някакви предположения?
((XY)(.*)(ENDING))|((XYZ)(.*))
- person Wiktor Stribiżew   schedule 19.06.2015