2017-07-06 2 views
1

J'ai l'extrait de code regex VBA suivant, je veux ajouter ⅜ et ⅝ au motif mais l'éditeur VBA ne les reconnaît pas (Affichage "?" Lorsque je copie et coller).VBA | Regex | Correspondance des caractères de fraction (par exemple 1/8, 3/8) dans la chaîne

Y a-t-il un moyen de les incorporer? J'imagine que l'utilisation de la fonction Chr pourrait aider mais je ne sais pas comment mettre cela dans un contexte regex.

Dim Reg As Object 
Set Reg = = CreateObject("VBScript.RegExp") 
Reg.Pattern = "([a-zA-Z0-9¾½]+)" 

Merci!

Répondre

1

Il est facile avec la représentation hexadécimale de ces symboles.

Si vous collez ces symboles ¾½ dans un Unicode char converter, vous obtiendrez \u00BE\u00BD dans le champ JavaScript. Utilisez-les à la place des symboles littéraux.

Vous souhaitez simplement utiliser

"[a-zA-Z0-9\u00BE\u00BD]+" 

Notez qu'il n'y a pas besoin envelopper tout le modèle avec un groupe de capture.

Une autre façon est d'utiliser les valeurs du volet décimal INTHE ChrW$(i) fonction, mais vous aurez besoin de concaténer les cordes:

"[a-zA-Z0-9" & ChrW$(190) & ChrW$(189) & "]+" 
+1

Merci Wiktor! Exactement ce dont j'ai besoin! :) – denwong1129