GraphClick
iLocalize
Unite
Barbouillon
xFractal
ProVoc
XS
AudioXplorer

Archives
Developpeurs

Online-Store
Support
home

Expressions régulières

Définition

Une expression régulière est une chaîne de caractères pouvant contenir des éléments spéciaux décrits ci-dessous. Une chaîne de caractères peut être comparée à une expression régulière à l'aide de l'opérateur ~ ou de la fonction does:match:.

*

Zéro, un ou plusieurs caractère(s) quelconque(s).

Exemples

>> "abcde" ~ "a*"
true
>> "abcde" ~ "*a"
false
>> "abcde" ~ "*c*"
true

?

Un caractère quelconque.

Exemples

>> "abc" ~ "a?c"
true
>> "abc" ~ "a??"
true

[...]

Un caractères faisant partie de l'ensemble donné.

[...](n-m)

Entre n et m caractères faisant partie de l'ensemble donné. m est factultatif et peut être ignoré.

Exemples

>> "xabc" ~ "[xyz]*"
true
>> "xabc" ~ "*[aAbBcC](1-3)"
true
>> "abc" ~ "[aAbBcC](3-)"
true

[!...]

Un caractère ne faisant pas partie de l'ensemble donné.

Exemple

>> "abc" ~ "[!aA]*"
false

^x

Minuscule.

^X

Majuscule.

^a

Voyelle.

^b

Consonne.

^0

Chiffre.

Exemples

>> "2004" ~ "^0(2-4)"
true
>> "Simon" ~ "^X^x(1-)"
true

{...,...}

Une occurrence de l'une des chaînes séparées par les virgules.

!{...,...}

Aucune occurrence des chaînes séparées par les virgules.

Exemples

>> "chat noir" ~ "*{noir,blanc}*"
true
>> "chat blanc" ~ "*{noir,blanc}*"
true

Pour recherche une virgule ou une accolade, précéder le caractère d'un "\":

>> "abc, def" ~ "*{.,\,}*"
true

Remplacements

Une expression régulière peut être également utilisée pour remplacer certaines parties d'une chaîne de caractères. La séquence "%n" peut être utilisée pour faire référence au nième élément spécial (tel que décrit ci-dessus) de l'expression régulière.

Exemples

>> s = "mon fichier.txt"
>> replaceIn:s template:"*.*" with:"%1.xml"
>> s
mon fichier.xml
>> copyByReplacingIn:s template:"*.*" with:"Nom = '%1'; Extension = '%2'"
Nom = 'mon fichier'; Extension = 'xml'

>> s = "Abc, def. Ghi; jkl."
>> replaceIn:s occurrencesOfTemplate:"[.\,;]" with:"%1/%1"
>> s
Abc,/, def./. Ghi;/; jkl./."

Retour aux éléments de XS