Ik heb een reguliere expressie nodig die alleen overeenkomt met de String als deze eindigt op het doel waarnaar ik op zoek ben. Ik moet een bestand met een specifieke extensie vinden, het probleem is dat deze extensie ook in andere bestanden voorkomt. Ik heb bijvoorbeeld twee bestanden met de naam
B82177_2014-07-08T141507758Z.ccf
en
B82177_2014-07-08T141507758Z.ccf.done
Ik wil alleen de eerste hiervan pakken en mijn patroon is:
.*\.ccf
maar dit pakt beide.
Alle suggesties worden gewaardeerd, ik ben een beginner op het gebied van reguliere expressies.
Antwoord 1, autoriteit 100%
Gebruik een eindanker($
):
.*\.ccf$
Dit komt overeen met elke tekenreeks die eindigt op .ccf
, of in de modus met meerdere regels, elke regel die eindigt op .ccf
.
Antwoord 2, autoriteit 15%
$ wordt gebruikt om het einde van de tekenreeks te matchen.
en kan worden gebruikt als
"string"$
vind ik leuk
xyz$
als je wilt eindigen met xzy
Antwoord 3
VanilaJS-functiebasisvoorbeeld
function isValidUrl(x){
let expression = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi;
let regex = new RegExp(expression);
return x.match(regex) ? true : false
}
console.log( isValidUrl('www.domain.com') ) // true
console.log( isValidUrl('nothing') ) // false