Reguliere expressie komt alleen overeen als tekenreeks eindigt met doel

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

Other episodes