Achtergrond:
Zes maanden geleden had ik een reguliere expressies zijn geïnteresseerd in het internet te vinden heel veel informatie, veel gelezen hebben het handboek, de laatste in het gebruik van een reguliere expressie tools RegexBuddy toen vond hij het handboek geschreven door een zeer goed kan worden gesteld Ik heb gezien de beste van de reguliere expressie tutorial. Dus hij wilde zijn vertaald. Deze wens tot 1 mei vakantie te bereiken, zal er een resultaat van dit artikel. Op het papier van de naam, met behulp van de "eenvoudige" lijkt te hebben Taisu. Maar na het lezen van de tekst, dat alleen de "gemakkelijk" te worden nauwkeurige uitdrukking van de tutorial op mijn gevoelens, zodat niet kan worden inning in op de trend van de.
Dit papier is Jan Goyvaerts voor RegexBuddy gevraagd te schrijven van de gids, deel uitmaakt van de oorspronkelijke auteur, welkom in herdruk. Echter, met het oog op de eerbiediging van de oorspronkelijke auteur en vertaler van de beroepsbevolking, stuur dan een verwijzing! Bedankt!
Wat zijn reguliere expressies
In principe heeft gezegd, is een reguliere expressies worden gebruikt voor een aantal tekst-modus. Regex vertegenwoordigers Reguliere Express. Dit document zal worden gebruikt <<regex>> specifiek voor dat gedeelte van een reguliere expressie. Een deel van de tekst is de meest eenvoudige model, de eenvoudige matching dezelfde tekst.
De reguliere expressie van de verschillende motor
De reguliere expressie motor is een vorm van een reguliere expressie kan worden behandeld met de software. Meestal wordt de motor is groter deel van de aanvraag. In de wereld van software, anders dan de reguliere expressies zijn niet onderling compatibel. Dit handboek zal zich richten op de Perl 5 typen motoren, omdat deze motor is de meest uitgebreide toepassing van de motor. Tegelijkertijd hebben we ook melding van enkele andere motor en het onderscheid. Veel moderne motoren zijn zeer vergelijkbaar zijn, maar niet helemaal hetzelfde. Bijvoorbeeld. NET is de bibliotheek, JDK reguliere pakket.
[Symbolen
Is de meest elementaire reguliere expressie van een tekst symbolen. Als <<a>>, wordt deze wedstrijd de eerste keer in het aantal tekens "a". Als de string "Jack is een jongen". "J" na de "a" zal worden geëvenaard. En de tweede "a" niet zal worden geëvenaard. De reguliere expressie kunnen ook overeenkomen met het tweede "a", moet u vertelde een reguliere expressie motor uit de eerste wedstrijd van een zoekopdracht. In een tekst-editor, kunt u gebruik maken van de "Ga naar de volgende." In de programmeertaal, zal er een functie kunt u de locatie van de voormalige eerste wedstrijd terug en begon te zoeken.
Soortgelijke, <<cat>> zal match "Over katten en honden" in de "kat". Dit komt neer op het vertellen een reguliere expressie motor, op zoek naar een <<c>>, het bijhouden van een <<a>>, Zaigen een <<t>>.
Rekening houdend met het feit dat de reguliere expressie motor standaard is hoofdlettergevoelig. Tenzij u de motor genegeerd het geval is, anders <<cat>> niet overeen "Cat".
Speciale tekens
De tekst tekens, zijn er 11 tekens zijn gereserveerd voor speciale doeleinden. Dit zijn: [] \ ^ $. | "* ()
Deze speciale tekens ook bekend als de yuan tekens.
Als u wilt in de reguliere expressie van deze tekens gebruikt zullen worden voor tekst-tekens, te kunnen gebruiken moet je backslash "\" om te ontsnappen (escape). Bijvoorbeeld, u wilt match "1 1 = 2 ', het recht op meningsuiting <<1 \ 1 = 2>>.
Dient te worden opgemerkt dat <<1 1 = 2>> geldt ook de reguliere expressie. Maar het zal niet overeen met de "1 1 = 2 'en zal overeenkomen met de" 123 111 = 234 "in de" 111 = 2. " Omdat de " " hier gezegd dat speciale betekenis (1 vele malen te herhalen).
In programmeertalen, is het nodig om op te merken dat sommige speciale tekens te maken krijgt met de compiler, en dan langer handen van de motor. Dus de reguliere expressie <<1 \ 2 = 2>> in C worden geschreven "1 \ \ 1 = 2." Met het oog op de match "C: \ temp", moet je een reguliere expressie <<C: \ \ temp>>. En in C , reguliere expressies zijn veranderd in "C: \ \ \ \ temp".