2016-12-14 1 views
0

Je ne peux pas sembler obtenir l'expression rationnelle suivante pour correspondre. Je vais avoir un problème avec ce qui est correspondant à l'intérieur du {}Regex ne peut correspondre à aucun caractère entre guillemets

L'expression rationnelle est

\{([\s\w|'.,]*)},\s*(\p{L}+)(.*\*\d+) 

Et la chaîne pour correspondre est la suivante:

value=subarray({'1*MyVar'}, EXCEL.x*48, 1) 
value=subarray({'1/MyVar'}, EXCEL.x*48, 1) 
value=subarray({'1--MyVar'}, EXCEL.x*48, 1) 
value=subarray({'90000'}, EXCEL.x*48, 1) 
value=subarray({'Holy Moly'}, EXCEL.x*48, 1) 

https://regex101.com/r/frF0eC/3

Le premier 3 ne correspondent pas, mais les 2 derniers correspondent. Une idée de comment les amener à tous les match? Au lieu d'utiliser \ w dois-je explicitement correspondre à tous les caractères possibles?

+0

votre entrée a différents caractères spéciaux comme '\ -' qui ne sont pas couverts par ce' [\ s \ w |. »,]' –

+0

Salut Pavneet, une idée Je les apparierais? –

Répondre

0

Cela le couvre

\{([\S| \|'.,]*)},\s*(\p{L}+)(.*\*\d+)