Heim  >  Artikel  >  php教程  >  Detaillierte Anordnung der regulären Shell-Ausdrücke

Detaillierte Anordnung der regulären Shell-Ausdrücke

高洛峰
高洛峰Original
2016-12-26 16:55:171223Durchsuche

Häufig verwendete reguläre Ausdrücke in der Shell

„^d+$“ //Nicht negative Ganzzahl (positive Ganzzahl + 0)
“^[0-9]*[1-9 ][ 0-9]*$“ //Positive Ganzzahl
“^((-d+)|(0+))$“ //Nicht positive Ganzzahl (negative Ganzzahl + 0)
“^-[ 0-9 ]*[1-9][0-9]*$“ //Negative Ganzzahl
“^-?d+$“ //Ganzzahl
“^d+(.d+)?$“ // Nicht negative Gleitkommazahl (positive Gleitkommazahl + 0)
“^(([0-9]+.[0-9]*[1-9][0-9]*)|([0 -9]*[1 -9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$“ //Positives Floating Punktzahl
“^ ((-d+(.d+)?)|(0+(.0+)?))$“ //Nicht positive Gleitkommazahl (negative Gleitkommazahl + 0)
„^(-(([0-9 ]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* .[0-9]+)|( [0-9]*[1-9][0-9]*)))$“ //Negative Gleitkommazahl
“^(-?d+)(. d+)?$“ //Gleitkommazahl
"^[A-Za-z]+$" //Eine Zeichenfolge bestehend aus 26 englischen Buchstaben
"^[A-Z]+$" //Eine Zeichenfolge bestehend aus aus 26 englischen Großbuchstaben
"^[a-z]+$" //Eine Zeichenfolge bestehend aus 26 englischen Kleinbuchstaben
"^[A-Za-z0-9]+$" //Eine Zeichenfolge bestehend aus Zahlen und 26 englische Buchstaben String
“^w+$“ //String bestehend aus Zahlen, 26 englischen Buchstaben oder Unterstrichen
“^[w-]+(.[w-]+)*@[w-]+ (.[w-]+)+$“ //E-Mail-Adresse
“^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*)) *(?S*)?$“ //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2 ]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // Jahr-Monat-Tag
/^((0( [1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/ (d{2}|d{4})$/ // Monat/Tag/Jahr
“^([w-.]+)@(([[0-9]{1,3}.[0 -9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0 -9]{1,3})(]?)$“ //Emil
/^((+?[0-9]{2,4}-[0-9]{3,4}-) |([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ //Telefonnummer
“^( d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]) .(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5 ])$“ //IP-Adresse

Regulärer Ausdruck, der mit chinesischen Zeichen übereinstimmt: [u4e00-u9fa5]
Übereinstimmende Doppelbyte-Zeichen (einschließlich chinesischer Zeichen): [^x00-xff ]
Regulärer Ausdruck, der mit Leerzeilen übereinstimmt: n[s|. ]*r
Regulärer Ausdruck, der mit HTML-Tags übereinstimmt: /<(.*)>.*|<( .*) />/
Regulärer Ausdruck, der mit führenden und nachgestellten Leerzeichen übereinstimmt: (^s*)|(s*$)
Regulärer Ausdruck, der mit der E-Mail-Adresse übereinstimmt: w+([-+.]w+)* @w+([-.]w+) *.w+([-.]w+)*
URL für reguläre Ausdrücke: ^[a-zA-z]+://(\w+(-\w+ )*)(\.(\w+(-\ w+)*))*(\?\S*)?$
Ist das übereinstimmende Konto legal (beginnt mit einem Buchstaben, 5–16 Bytes sind zulässig, alphanumerische Unterstriche sind zulässig) :^[a-zA-Z][a -zA-Z0-9_]{4,15}$
Übereinstimmung mit inländischen Telefonnummern: (d{3}-|d{4}-)?(d{8 }|d{7})? Entspricht der Tencent QQ-Nummer: ^[1-9]*[1-9][0-9]*$

Metazeichen und ihren regulären Ausdrücken. Verhalten im Ausdruckskontext:


Markiert das nächste Zeichen als Sonderzeichen, Literalzeichen, Rückverweis oder oktales Escape-Zeichen.


^ stimmt mit dem Anfang der Eingabezeichenfolge überein. Wenn die Multiline-Eigenschaft des RegExp-Objekts festgelegt ist, stimmt ^ auch mit der Position nach „n“ oder „r“ überein.


$ entspricht der Endposition der Eingabezeichenfolge. Wenn die Multiline-Eigenschaft des RegExp-Objekts festgelegt ist, stimmt $ auch mit der Position vor „n“ oder „r“ überein.


* Entspricht dem vorhergehenden Unterausdruck null oder mehrmals.


+ stimmt ein oder mehrere Male mit dem vorherigen Unterausdruck überein. + entspricht {1,}.


? Entspricht dem vorhergehenden Unterausdruck null oder einmal. ? Entspricht {0,1}.


{n} n ist eine nicht negative ganze Zahl, die n-mal mit einem bestimmten Wert übereinstimmt.


{n,} n ist eine nicht negative ganze Zahl, die mindestens n-mal übereinstimmt.


{n,m} m und n sind beide nicht negative ganze Zahlen, wobei n <= m. Übereinstimmung mindestens n-mal und höchstens m-mal. Zwischen dem Komma und den beiden Zahlen darf kein Leerzeichen stehen.


? Wenn dieses Zeichen unmittelbar auf einen anderen Begrenzer (*, +, ?, {n}, {n,}, {n,m}) folgt, ist das Übereinstimmungsmuster nicht gierig. Der Non-Greedy-Modus stimmt so wenig wie möglich mit der gesuchten Zeichenfolge überein, während der Standard-Greedy-Modus so viel wie möglich mit der gesuchten Zeichenfolge übereinstimmt.


Entspricht jedem einzelnen Zeichen außer „n“. Um ein beliebiges Zeichen einschließlich „n“ zu finden, verwenden Sie ein Muster wie „[.n]“.
(Muster) stimmt mit dem Muster überein und erhält diese Übereinstimmung.


(?:pattern) stimmt mit dem Muster überein, erhält aber nicht das Übereinstimmungsergebnis, was bedeutet, dass es sich um eine Nicht-Erfassungsübereinstimmung handelt und nicht für eine spätere Verwendung gespeichert wird.


(?=pattern) Vorwärtssuche, die den Suchstring am Anfang eines beliebigen String-Matching-Musters abgleicht. Dies ist eine Nicht-Abruf-Übereinstimmung, d. h. die Übereinstimmung muss nicht zur späteren Verwendung abgerufen werden.


(?!pattern) Negative Suche, im Gegensatz zu (?=pattern)


x|y entspricht x oder y.


[xyz] Zeichensatz.


[^xyz] Negativer Zeichensatz.


[a-z] Zeichenbereich, entspricht jedem Zeichen innerhalb des angegebenen Bereichs.


[^a-z] Negativer Zeichenbereich, der mit jedem Zeichen übereinstimmt, das nicht innerhalb des angegebenen Bereichs liegt.


b entspricht einer Wortgrenze, die sich auf die Position zwischen einem Wort und einem Leerzeichen bezieht.


B entspricht Nicht-Wortgrenzen.


cx entspricht dem durch x angegebenen Steuerzeichen.


d entspricht einem numerischen Zeichen. Entspricht [0-9].


D entspricht einem nicht numerischen Zeichen. Entspricht [^0-9].


f entspricht einem Formular-Feed. Entspricht x0c und cL.


n entspricht einem Zeilenumbruchzeichen. Entspricht x0a und cJ.


r entspricht einem Wagenrücklaufzeichen. Entspricht x0d und cM.


s entspricht jedem Leerzeichen, einschließlich Leerzeichen, Tabulatoren, Formularvorschüben usw. Entspricht [fnrtv].


S entspricht jedem Zeichen, das kein Leerzeichen ist. Entspricht [^ fnrtv].


t entspricht einem Tabulatorzeichen. Entspricht x09 und cI.


v entspricht einem vertikalen Tabulatorzeichen. Entspricht x0b und cK.


w entspricht jedem Wortzeichen, einschließlich eines Unterstrichs. Entspricht „[A-Za-z0-9_]“.


W entspricht jedem Nicht-Wort-Zeichen. Entspricht '[^A-Za-z0-9_]'.


xn entspricht n, wobei n der hexadezimale Escape-Wert ist. Der hexadezimale Escape-Wert muss genau zwei Ziffern lang sein.


num stimmt mit num überein, wobei num eine positive ganze Zahl ist. Ein Verweis auf die erhaltene Übereinstimmung.


n identifiziert einen oktalen Escape-Wert oder eine Rückreferenz. n ist eine Rückreferenz, wenn vor n mindestens n abgerufene Unterausdrücke stehen. Andernfalls, wenn n eine Oktalzahl (0-7) ist, dann ist n ein oktaler Escape-Wert.


nm identifiziert einen oktalen Escape-Wert oder eine Rückreferenz. Wenn vor nm mindestens nm abgerufene Unterausdrücke stehen, ist nm eine Rückreferenz. Wenn vor nm mindestens n gets stehen, dann ist n eine Rückreferenz, gefolgt vom Literal m. Wenn keine der vorherigen Bedingungen zutrifft und n und m beide Oktalziffern (0-7) sind, stimmt nm mit dem oktalen Escape-Wert nm überein.


nml Wenn n eine Oktalziffer (0-3) ist und m und l beide Oktalziffern (0-7) sind, dann entspricht dies dem oktalen Escape-Wert nml.


un entspricht n, wobei n ein Unicode-Zeichen ist, das durch vier Hexadezimalziffern dargestellt wird.


Regulärer Ausdruck, der mit chinesischen Zeichen übereinstimmt: [u4e00-u9fa5]


Übereinstimmende Doppelbyte-Zeichen (einschließlich chinesischer Zeichen): [^x00-xff]


Regulär Ausdruck, der mit leeren Zeilen übereinstimmt: n[s|. ]*r


Regulärer Ausdruck, der mit HTML-Tags übereinstimmt: /<(.*)>.* />/


Regulärer Ausdruck, der führende und nachfolgende Leerzeichen übereinstimmt: (^s*)|(s*$)


entspricht E-Mail Regulärer Ausdruck der Adresse: w+ ([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*


Regulärer passender URL-Ausdruck: http://([w -]+.)+[w-]+(/[w- ./?%&=]*)?


Verwenden Sie reguläre Ausdrücke, um den Eingabeinhalt von zu begrenzen das Textfeld im Webformular:

Verwenden Sie reguläre Ausdrücke, um nur chinesische Eingaben zu beschränken: onkeyup=“value=value.replace(/[^u4E00-u9FA5] /g,“)“ onbeforepaste= ”clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,“))“


Verwenden Sie reguläre Ausdrücke, um die Eingabe einzuschränken nur aus Zeichen voller Breite: onkeyup=“value=value.replace(/[^uFF00-uFFFF]/g,“)“ onbeforepaste=“clipboardData.setData('text',clipboardData.getData(' text').replace (/[^uFF00-uFFFF]/g,“))“


Verwenden Sie reguläre Ausdrücke, um nur die Eingabe von Zahlen zu beschränken: onkeyup="value=value.replace(/[ ^d]/ g,“) „onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,"))"


Normal verwenden Ausdrücke, um die Eingabe auf Zahlen und nur auf Englisch zu beschränken: onkeyup="value=value.replace(/[W]/g,") "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text ').replace (/[^d]/g,“))“

Häufig verwendete reguläre Ausdrücke



Entspricht dem regulären chinesischen Ausdruck von Zeichen : [u4e00-u9fa5]


entspricht Doppelbyte-Zeichen (einschließlich chinesischer Zeichen): [^x00-xff]


entspricht leeren Zeilen Regulärer Ausdruck: n[s |. ]*r


Regulärer Ausdruck, der mit HTML-Tags übereinstimmt: /<(.*)>.*|<(. *) />/


Regulärer Ausdruck, der mit führenden und nachgestellten Leerzeichen übereinstimmt: (^s*)|(s*$)


Regulärer Ausdruck, der mit der IP-Adresse übereinstimmt:/(d+).(d+).(d+ ).(d+)/g //


Regulärer Ausdruck passende E-Mail-Adresse: w+([-+.]w+)*@w+ ([-.]w+)*.w+([-. ]w+)*


URL für reguläre Ausdrücke: http://(/[w-]+.)+[ w-]+(/[w- ./?%&=]* )?


SQL-Anweisung: ^(select|drop|delete|create|update|insert ).*$



1. Nicht negative ganze Zahl: ^d+$


2. Positive ganze Zahl: ^[0-9]*[1-9][0-9] * $


3. Nicht positive ganze Zahlen: ^((-d+)|(0+))$


4. 9] *[1-9][0-9]*$


5. Ganzzahl: ^-?d+$

6 : ^d+( .d+)?$


7. Positive Gleitkommazahl: ^((0-9)+.[0-9]*[1-9][0-9] *)|([ 0-9]*[1-9][0-9]*.[0-9]+)| ([0-9]*[1-9][0-9]*)) $


8. Nicht positive Gleitkommazahlen: ^((-d+.d+)?)|(0+(.0+)?))$


9. Negative Gleitkommazahlen: ^(-((positiver Gleitkomma-regulärer Ausdruck)))$


10. Englische Zeichenfolge: ^[A-Za-z]+$


11. Englische Großbuchstabenzeichenfolge: ^[A-Z]+$

12. Englische Kleinbuchstabenzeichenfolge: ^[a-z]+$

13 Zeichen und numerische Zeichenfolge: ^[A -Za-z0-9]+$


14. Alphanumerische und unterstrichene Zeichenfolge: ^w+$

15 Adresse: ^[w-] +(.[w-]+)*@[w-]+(.[w-]+)+$


16. zA-Z]+:/ /(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
oder: ^http://[A-Za- z0-9]+.[ A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^& lt;>""])*$


17. Postleitzahl: ^[1-9]d{5}$


18. Chinesisch: ^[u0391-uFFE5]+$


19. Telefonnummer :^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[ 1-9] d{6 ,7}(-d{1,4})?$


20. Mobiltelefonnummer: ^(((d{2,3}))|( d{3}-))? 13d{9}$


21. Doppelbyte-Zeichen (einschließlich chinesischer Zeichen): ^x00-xff

22 Leerzeichen: (^s*)|( s*$) (Trimmfunktion wie vbscript)

23. HTML-Tags abgleichen: <(.*)>.*|<( .*) /> e|E)(f |F) *= *('|“)?(w|\|/|.)+('|“| *|>)?

26 Adresse in den Informationen: w+( [-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

27. Extrahieren Sie den Bildlink in den Informationen : (s|S)(r |R)(c|C) *= *('|“)?(w|\|/|.)+('|“| *|>)?

28. Extrahieren Sie die IP-Adresse der Informationen: (d+).(d+).(d+).(d+)

29. Extrahieren Sie die chinesische Mobiltelefonnummer in den Informationen: (86)*0*13d{ 9}

30. Extrahieren Sie die chinesische Festnetznummer aus den Informationen: ((d{3,4})|d{3,4}-|s)?d{8}

31. Extrahieren Sie die chinesische Telefonnummer aus der Informationsnummer (einschließlich Mobil- und Festnetz): ((d{3,4})|d{3,4}-|s)?d{7,14}

32. China Post in den extrahierten Informationen Codierung: [1-9]{1}(d+){5}

33. Extrahieren Sie Gleitkommazahlen (d. h. Dezimalzahlen) in den Informationen: (-?d *).?d+

34. Extrahieren Sie eine beliebige Zahl in den Informationen: (-?d*)(.d+)?

35. d+).(d+)

36. Telefonvorwahl: /^0d{2,3}$/

37. 9][0-9]*$

38. Kontonummer (beginnend mit einem Buchstaben, erlaubt 5-16 Bytes, erlaubt alphanumerische Unterstriche): ^[a-zA-Z][a-zA-Z0 -9_]{4,15}$

39, Chinesisch, Englisch, Zahlen und Unterstreichung: ^[u4e00-u9fa5_a-zA-Z0-9]+$

Vielen Dank, dass Sie das gelesen haben Artikel, ich hoffe, er kann allen helfen, vielen Dank für Ihre Unterstützung dieser Website!

Ausführlichere Artikel zu regulären Shell-Ausdrücken finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn