J'aurais besoin d'aide pour une StringRegExp récalcitrante...
En partant d'un array $Key["STRING( an , b,c ,d) ", '#an "." #b "." #c "." #d'], la première partie de mon idée demande de créer un array $table["an","b","c","d"] tiré de $Key[0], retournant le contenu des parenthèses splitté pour chaque virgule, sans prendre les espaces en compte. La simplicité de supprimer les espaces via StringReplace() puis de découper autour des parenthèses en StringRegExp() pour finir à la moulinette sur le caractère "," est valide, je voudrais le faire en une-seule étape avec une StringRegExp si possible. L'alternative trouvée étant de préparer un paterne pour, disons, une 12 aine de paramètres acceptables prédéfinis (exemple : ".a.,.b.,.c.......,.z."), mais ce serait dommage.
J'en suis là :
Code : Tout sélectionner
Local $Key = ["STRING( an , b,c ,d )", '#an "." #b "." #c "." #d']
;(.*?) = anything here (.), whatever how much elements (*)
;Local $table = StringSplit(StringRegExp(StringReplace($Key[0], " ", ""), "\((.*)\)", 3)[0], ",");OK
;$Key[0] = "STRING( an, b,c ,d )"
;"\(\h*(\H+)\h*\)" = "an,"
;[(]\h*([^\h,)]+)\h*[,]?.* = "an"
;[,]+\h*([^,]+)\h*[,]* = "b"
;.*[,]+\h*([^,]+)\h*[,]+.* = "c"
Local $table = StringRegExp($Key[0], "\(\h*([^\h,)]+)\h*[,]\h*([^\h,)]+)\h*[,]\h*([^\h,)]+)\h*[,]\h*([^\h,)]+).*\h*\)", 3);Nok
_ArrayDisplay($table, "$table")


