regex() Function (SLAX and XSLT)
Namespaces
http://xml.juniper.net/junos/commit-scripts/1.0 http://xml.libslax.org/slax
Syntaxe SLAX
var $result = prefix:regex(pattern, string);
Syntaxe XSLT
<xsl:variable name="result" select="prefix:regex(pattern, string)"/>
Description
Évaluez une expression rationnelle par rapport à un argument de chaîne donné et renvoyez toutes les correspondances. Cette fonction nécessite deux arguments : l’expression régulière et la chaîne à laquelle l’expression régulière est comparée.
L’URI prefix associé à l’espace de noms doit être défini dans le mappage préfixe-espace de noms de la feuille de style.
Paramètres
pattern |
Expression régulière évaluée par rapport à l’argument string. |
string |
Chaîne à l’intérieur de laquelle rechercher des correspondances de l’expression régulière spécifiée. |
Valeur de retour
result |
Tableau de chaînes qui correspondent au modèle d’expression régulière donné dans l’argument de chaîne. |
Exemples d’utilisation
Dans l’exemple suivant, le modèle d’expression régulière se compose de quatre groupes distincts. Le premier groupe est constitué de l’expression entière. Les trois groupes suivants sont chacun des expressions entre parenthèses dans l’expression principale. Les résultats de chaque jcs:regex()
appel de fonction contiennent un tableau des correspondances du modèle d’expression régulière avec chacune des chaînes spécifiées.
var $pattern = "([0-9]+)(:*)([a-z]*)"; var $a = jcs:regex($pattern, "123:xyz"); var $b = jcs:regex($pattern, "r2d2"); var $c = jcs:regex($pattern, "test999!!!"); $a[1] == "123:xyz" # string that matches the full reg expression $a[2] == "123" # ([0-9]+) $a[3] == ":" # (:*) $a[4] == "xyz" # ([a-z]*) $b[1] == "2d" # string that matches the full reg expression $b[2] == "2" # ([0-9]+) $b[3] == "" # (:*) [empty match] $b[4] == "d" # ([a-z]*) $c[1] == "999" # string that matches the full reg expression $c[2] == "999" # ([0-9]+) $c[3] == "" # (:*) [empty match] $c[4] == "" # ([a-z]*) [empty match]
Informations sur la version
Fonction introduite dans Junos OS version 7.6
La prise en charge de l’espace de noms slax http://xml.libslax.org/slax ajoutée dans Junos OS version 12.2.