Asertoj permesas al regula esprimo kongrui nur sub certaj kontrolitaj kondiĉoj.
Aserto ne bezonas signon por egali, ĝi prefere esploras la ĉirkaŭon de ebla kongruo antaŭ agnoski ĝin. Ekzemple la aserto vortlimo ne provas trovi nevortan signon kontraŭ vorto unu ĉe ĝia pozicio, anstataŭe ĝi certigas, ke ne estas vorta signo. Tio signifas, ke la aserto povas kongrui kie ne estas signo, t.s. ĉe la finoj de serĉata ĉeno.
Iuj asertoj efektive ja havas ŝablonon por kongrui, sed la parto de la ĉena kongruo kiu ne estos parto de la rezulto de la kongruo de la plena esprimo.
Regulaj Esprimoj kiel dokumentite ĉi tie subtenas la sekvajn asertojn:
^(marko: komenco de ĉeno)Kongruas kun la komenco de la serĉita ĉeno.
La esprimo
^Peterkongruos ĉe “Petro” en la ĉeno “Petro, he!” sed ne en “He, Petro!”$(fino de ĉeno)Kongruas kun la fino de la serĉita ĉeno.
La esprimo
you\?$kongruos ĉe la lasta vi en la ĉeno “You didn't do that, did you?” sed nenie en “You didn't do that, right?”\b(vortlimo)Kongruas se estas vortsigno ĉe unu flanko kaj ne vortsigno ĉe la alia.
Ĉi tio utilas por trovi vortfinaĵojn, ekzemple ambaŭ finaĵojn por trovi tutan vorton. La esprimo
\bin\bkongruos ĉe la aparta “in” en la ĉeno “He came in through the window”, sed ne ĉe la “in” en “window”.\B(ne vortlimo)Kongruas kie ajn “\b” ne faras.
Tio signifas, ke ĝi kongruos ekzemple ene de vortoj: La esprimo
\Bin\Bkongruos en “window” sed ne en “integer” aŭ “I'm in love”.(?=PATTERN)(Pozitiva antaŭrigardo)Antaŭrigarda aserto rigardas la parton de la ĉeno sekvanta ebla kongruo. La pozitiva antaŭrigardo malhelpos la ĉenon kongrui se la teksto sekvanta la ebla kongruo ne kongruas kun la PATTERN de la aserto, sed la teksto kongrua per tio ne estos inkluzivita en la rezulto.
La esprimo
handy(?=\w)kongruos ĉe “handy” en “handyman” sed ne en “That came in handy!”(?!PATTERN)(Negativa antaŭrigardo)La negativa antaŭrigardo malhelpas ebla kongruo esti agnoskita se la sekva parto de la serĉita ĉeno ja kongruas kun sia PATTERN.
La esprimo
konst \w+\b(?!\s*&)kongruos ĉe “const char” en la ĉeno “const char* foo” dum ĝi ne povas kongrui kun “const QString” en “const QString& bar” ĉar la “&” kongruas kun la negativa antaŭrigarda aserta ŝablono.(?<=PATTERN)(Pozitiva rigardo malantaŭe)Rigardu malantaŭen havas la saman efikon kiel la rigardo antaŭen, sed funkcias malantaŭen. Malantaŭrigardo rigardas la parton de la ĉeno antaŭ ebla kongruo. La pozitiva postrigardo kongruos kun ĉeno nur se ĝi estas antaŭita de la PATTERN de la aserto, sed la teksto kongrua per tio ne estos inkluzivita en la rezulto.
La esprimo
(?<=cup)cakekongruos ĉe “cake” se ĝi estas sekvata de “cup” (en “cake” sed ne en “cheesecake” aŭ en “cake” sole).(?<!PATTERN)(Negativa postrigardo)La negativa postrigardo malhelpas ebla kongruo esti agnoskita se la antaŭa parto de la serĉita ĉeno ja kongruas kun sia PATTERN.
La esprimo
(?<![\w\.])[0-9]+kongruos ĉe “123” en la ĉenoj “=123” kaj “-123” dum ĝi ne povas kongrui kun “123” en “.123” aŭ “vorto123”.(ŜABLONO)(Kaptanta grupo)La subŝablono ene de la krampoj estas kaptita kaj memorita, tiel ke ĝi povas esti uzata en retroreferencoj. Ekzemple, la esprimo
("+)[^"]*\1kongruas kun""""text""""kaj"teksto".Vidu la sekcion Kapti kongruan tekston (retroreferencoj) por pliaj informoj.
(?:PATTERN)(Ne-kapta grupo)La subŝablono ene de la krampoj ne estas kaptita kaj ne estas memorita. Estas preferinde ĉiam uzi nekaptajn grupojn, se la kaptoj ne estos uzataj.