Asertoj

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 ^Peter kongruos ĉ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\b kongruos ĉ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\B kongruos en window sed ne en integerI'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)cake kongruos ĉ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 .123vorto123.

(Ŝ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 (&quot;+)[^&quot;]*\1 kongruas 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.