Voorwoord:
Zes maanden geleden had ik regelmatig blijken van belangstelling voor on-line te vinden heel veel informatie, lees veel natuurlijk, de laatste in het gebruik van een reguliere expressie tool RegexBuddy toen hij vond het natuurlijk erg goed geschreven, kan worden gezegd dat Ik heb gezien hoe het beste reguliere expressie tutorial. Als gevolg hiervan zou hij graag zijn vertaald. De ambities van de lange vakantie tot 1 mei dit kan worden bereikt, de resultaten zullen hebben dit artikel. Dit artikel over de naam, "in leken taal" lijkt te hebben Taisu. Maar lees de oorspronkelijke tekst, maar alleen dat "in leken taal" met het oog op de correcte de loop uiting geven aan mijn gevoelens, kan zij niet ontsnappen aan de.
Januari Goyvaerts voor dit artikel werd geschreven door RegexBuddy loop van de vertaling, de originele auteur het auteursrecht van allemaal, welkom bij herdruk. Om echter te houden aan de oorspronkelijke auteur en vertaler van het werk, gelieve referentie! Bedankt!
Wat is een reguliere expressie
In principe heeft gezegd, is een vaste uitdrukking die gebruikt wordt om een bepaald aantal tekst-mode. Regex namens het periodiek Express. Dit artikel zal worden <<regex>> om aan te geven in een specifiek deel van de reguliere expressie. Een deel van de tekst is de meest eenvoudige model, een simpele match dezelfde tekst.
Verschillende reguliere expressie motor
Reguliere expressie motor is een reguliere expressie verwerking software. Meestal wordt de motor is een groter deel van de aanvraag. In de wereld van software, verschillende reguliere expressies zijn niet compatibel met elkaar. De huidige koers zal zich richten op de Perl 5 typen motoren, de motor want het is de meest gebruikte motoren. Tegelijkertijd zullen we ook praten over een aantal van de motor en andere verschillen. Veel moderne motoren zijn zeer vergelijkbaar zijn, maar niet precies hetzelfde. Bijvoorbeeld. NET reguliere bibliotheek, JDK reguliere pakket.
Gebarentaal
De meest eenvoudige reguliere expressie uit een enkele tekst symbolen. Als <<a>>, het zal overeenkomen met de eerste keer in de tekenreeks "a". Als de reeks van "Jack is een jongen". "J" achter "een" zullen worden aangepast. En het tweede "a" niet zal worden geëvenaard. Reguliere expressies kunnen overeenkomen met het tweede "a", dat vertelt moet u een reguliere expressie motor vanaf de eerste wedstrijd van het begin van local search. In een tekst-editor, kunt u gebruik maken van de "Volgende zoeken." In de programmeertaal, zal er een functie kan worden gebruikt om uw eerste wedstrijd terug naar het begin van de locatie van de zoekopdracht.
Een soortgelijke, <<cat>> zal match "Over katten en honden" in de "kat". Dit komt neer op het vertellen reguliere expressie motor te vinden met een <<c>>, om contact te houden met een <<a>>, een punt met <<t>>.
Rekening houdend met het feit dat de reguliere expressie motor is de standaard case-sensitive. Tenzij je de motor Negeer geval is, of anders <<cat>> niet overeenkomen met de "Kat".
Speciale tekens
De tekst tekens 11 tekens zijn bewaard voor speciale doeleinden. Zij zijn: [] \ ^ $. |? * + ()
Deze speciale tekens worden ook wel bekend als de yuan karakters.
Als u wilt dat reguliere expressies van deze tekens zal worden gebruikt voor tekst-tekens te kunnen gebruiken moet je de backslash, "\" voor hun code (escape). Bijvoorbeeld, je wilt match "1 +1 = 2 ', het recht op meningsuiting <<1 \ +1 = 2>>.
Hierbij moet worden opgemerkt dat, "<1 +1 = 2>> is een geldige reguliere expressie. Maar het komt niet overeen met de "1 +1 = 2" en de wedstrijd zal worden "123 +111 = 234" "111 = 2." "+", Zei een speciale betekenis hier (1e vele malen te herhalen).
In de programmeertaal, rekening houdend met het feit dat sommige speciale tekens te maken krijgt met de compiler, en vervolgens naar het meer reguliere motor. Daarom, reguliere expressies <<1 \ + 2 = 2>> in C + + te schrijven in "1 \ \ +1 = 2." Om te voldoen aan de "C: \ temp", dient u gebruik te maken van reguliere expressies <<C:\\temp>>. In de C + +, de reguliere expressie is veranderd in "C: \ \ \ \ temp".