Wat betekent \’.- in een reguliere expressie

Ik ben nieuw in de reguliere expressie en ik heb problemen met het vinden van wat “\’.-” betekent.

'/^[A-Z \'.-]{2,20}$/i'

Tot nu toe heb ik na mijn onderzoek ontdekt dat de reguliere expressie begint met (^) en twee tot twintig ({2,20}) alfabetische (A-Z) tekens vereist. De uitdrukking is ook niet hoofdlettergevoelig (/i).

Enige hints over wat “\’.-” betekent?


Antwoord 1, autoriteit 100%

De tekenklasse is de volledige uitdrukking [A-Z \'.-], wat betekent dat AZ, spatie, enkel aanhalingsteken , punt of koppelteken. De \is nodig om het enkele aanhalingsteken te beschermen, omdat het ook wordt gebruikt als tekenreekscitaat. Deze charclass moet 2 tot 20 keer worden herhaald, en vanwege de leidende ^en de volgende $ankers moet dit de volledige inhoud van de overeenkomende tekenreeks zijn.


Antwoord 2, autoriteit 33%

Het betekent ontsnappen aan het enkele aanhalingsteken (') dat de regex verwijdert (om de tekenreeks niet voortijdig te beëindigen), en vervolgens een .wat een letterlijke .en een -wat letterlijk -betekent.

Binnen het tekenbereik wordt de .letterlijk behandeld, en als de -geen deel uitmaakt van een geldig bereik, b.v. a-z, dan wordt het ook letterlijk behandeld.

Je regex zegt Overeenkomen met de tekens a-zA-Z '.-tussen 2 en 20 keer als de hele string, met een optionele afsluitende \n.


Antwoord 3, autoriteit 17%

Deze regex staat in een string. De backslash is er om aan het enkele aanhalingsteken te ontsnappen, zodat de tekenreeks niet vroeg eindigt, in het midden van de regex. De punt en het streepje zijn precies wat ze zijn, een punt en een streepje.

Dus je had bijna gelijk, behalve dat het 2-20 tekens zijn die letters, spatie, enkel aanhalingsteken, punt of streepje zijn.


Antwoord 4

Het citeert het citaat.

De reguliere expressie is ^[A-Z'.-]{2,20}$.

In de programmeertaal die je gebruikt, schrijf je het als een tekenreeks tussen aanhalingstekens:

'SOMETHING'

Om een enkele aanhaling erin te krijgen, is er een backslash in verwerkt.


Antwoord 5

Alles tussen de vierkante haken maakt deel uit van de tekenklasse en komt overeen met een enkel teken in de lijst. In uw voorbeeld zijn de weergegeven tekens de letters A tot en met Z, een spatie, een enkel aanhalingsteken, een punt of een koppelteken. (Let op: het koppelteken moet als laatste worden vermeld om te voorkomen dat er een bereik wordt aangegeven, zoals A-Z.) Uw volledige reguliere expressie komt overeen met 2 tot 20 van de weergegeven tekens. Het enkele aanhalingsteken is nodig zodat de compiler weet dat u de tekenreeks die de reguliere expressie definieert niet beëindigt.

Enkele voorbeelden van zaken waar dit mee overeenkomt:

  • ………………….
  • abaca af – .
  • AAfa- – ..
  • .z

Enzovoort.

Other episodes