Bonjour a tous,
je cherche a match des header XML. Je cherche que des headers de ce type soit reconnue:
1 2 3 4 5
|
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.1" ?>
.... |
J'ai donc cherché une regex que j'ai définie ainsi:
<\?xml[ ]*version="[1-9]+.[\d]*"[ ]*[\w="\-]*[ ]*\?>
J'ai l'habitude de faire des regex en Javascript, java, ptyhon, etc. mais c'est la premiere fois en C++ et je ne vois pas pourquoi cette regex ne fonctionne pas.
voici mon code de test:
1 2 3 4 5 6
|
tr1::regex xmlRegex("<\?xml[ ]*version=\"[1-9]+\.[\\d]*\"[ ]*[\\w=\"\-]*[ ]*\?>");
bool isXml=false;
string line=string("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
isXml=tr1::regex_match(line.begin(),line.end(),xmlRegex); |
Ici isXml devrait valoir true, mais il vaut false!!!
S'auriez vous comment faire cette regex ?
Je vous remercie d'avance pour votre aide
Partager