Softanza
DémarrerEnglish
Softanza
Référence · stzRegex

Match()

This is what :MatchEntireContent has always said it does, and what the naming redesign settled on: match the complete pattern against the complete content.

aussi écrite: Macth · IsMatched · MacthString · MatchString

Exemples de base (2)

Softanza
o1 = new stzRegex("hello world")
? o1.MatchXT("HELLO world", 1, :MatchEntireContent, [])
? o1.MatchXT("HELLO world", 1, :MatchEntireContent, [ :CaseInsensitive ])
Sortie
0
1

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 40_test_8_options_via_matchxt.ring(s'ouvre dans un nouvel onglet)

Softanza
txt = "hello
world"
o = new stzRegex("hello.world")
? o.MatchXT(txt, 1, :MatchEntireContent, []) # Returns false - dot doesn't match newline
? o.MatchXT(txt, 1, :MatchEntireContent, [ :DotMatchesAll ]) # Returns true - dot matches newline
Sortie
0
1

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 28_understanding_regex_options.ring(s'ouvre dans un nouvel onglet)

Portée (2)

Softanza
txt = "Name: John, Age: 30"
o1 = new stzRegex("Name: (?<name>.*), Age: (?<age>\d+)")
? o1.Match(txt)
? o1.HasNames() + NL
? @@( o1.Names() ) + NL
? @@NL( o1.CaptureXT() )
Sortie
1
1

[ "name", "age" ]

[
	[ "name", "John" ],
	[ "age", "30" ]
]

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 38_test_6_named_capture_groups.ring(s'ouvre dans un nouvel onglet)

Softanza
oRx = new stzRegex("[0-9]+")
oRx.MatchXT("a12b345c6", 1, :MatchFirstOccurrenceIfNotGoPartial, [])
# Matches gives the values
? @@(oRx.Matches())
# MatchesZ gives value and position
? @@(oRx.MatchesZ())
# ...as DATA, not as console output
? isList(oRx.MatchesZ())
# ...one entry per match
? len(oRx.MatchesZ())
# ZZ gives the position as a SECTION instead
? @@(oRx.MatchesZZ())
# ValuesAndTheirPositions agrees
? @@(oRx.ValuesAndTheirPositions())
# ...and so does MatchesAndTheirPositions
? @@(oRx.MatchesAndTheirPositions())
# ...and it is not empty
? len(oRx.MatchingSubStringsAndTheirPositions())
Sortie
[ "12", "345", "6" ]
[ [ "12", 2 ], [ "345", 5 ], [ "6", 9 ] ]
1
3
[ [ "12", [ 2, 4 ] ], [ "345", [ 5, 8 ] ], [ "6", [ 9, 10 ] ] ]
[ [ "12", 2 ], [ "345", 5 ], [ "6", 9 ] ]
[ [ "12", 2 ], [ "345", 5 ], [ "6", 9 ] ]
3

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 00_regex_narrated.ring(s'ouvre dans un nouvel onglet)

Les extensions de cette méthode

Chaque extension, et si elle existe pour cette méthode ; une extension qui existe se compose avec les autres (FindSTCS).

Extension
Existe
Ce qu'elle ajoute · Les noms
Q
non
fait ce que fait la méthode, puis rend l'objet, pour que l'appel puisse s'enchaîner
QQ
non
enchaîne sur le type d'objet suivant, plus précis (l'échelle des Q)
QQQ
non
enchaîne sur le type d'objet le plus précis (l'échelle des Q)
QRT
non
rend le résultat comme un objet du type demandé
CS
non
prend un indicateur de sensibilité à la casse
ST
non
prend la position de départ (StartingAt)
IB
non
prend des bornes incluses (IncludingBounds)
XT
oui
la forme étendue : plus de paramètres que la méthode de base · MacthXT, MatchXT, MatchManyXT
XTT
non
encore une extension : une forme étendue de plus, après XT
Z
non
inclut la position dans ce qu'elle rend
ZZ
non
rend les positions comme des sections, [début, fin]
W
non
choisit selon une condition
WF
non
choisit selon une condition, avec les mots-clés expressifs (@NextItem, @PreviousItem...)
D
non
prend une direction, en avant ou en arrière (Directional)
F
non
prend une fonction (la condition ou la mise à jour est donnée comme une fonction) ; le document des formes emploie aussi F pour la forme future, qui diffère l'action
Many
oui
travaille sur une collection d'éléments au lieu d'un seul (la forme plurielle) · MatchMany, MatchManyXT
Except
non
prend des exceptions, ce qu'il faut laisser de côté (la forme exceptionnelle)
U
non
rend le résultat sans doublon

Chaque exemple est un fichier de test de la bibliothèque, exécuté dans la bibliothèque pour cette page ; seuls ceux dont la sortie a tenu toutes les promesses écrites par leur fichier sont montrés. Les explications, les titres et le code sont ceux de la bibliothèque, en anglais.

Voir aussi