wyjaśnieniewyrażenie regularne
Strona internetowa (URL)[a-zA-z]+://^[^\s]*
Adres IP((2]|-4]\d|25]|-5]|[01]?\d\d?)\.){3}(2]|-4]\d|25]|-5]|[01]?\d\d?)
Adres e-mail\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
numer QQ[1-9]\d{4,}
HTML znacznik (włączając zawartość lub sam-zamknięcie)<(*)(*)>.*<\/\1>|<(*) \"/>
Hasło (składa się z liczb/duże litery/małych liter/znaki przestankowe, wszystkie cztery muszą być dostępne, więcej niż 8 cyfr)(?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
Data (rok-miesiąc-dzień)(\d{4}|\d{2)-((1]|-2))|(0?[1-9))-(([12][0-9))|(3]|1))|(0?[1-9))
Data (Miesiąc/Dzień/Rok)((1]|-2))|(0?[1-9))/(([12][0-9))|(3]|1))|(0?[1-9))/(\d{4}|\d{2)
Czas (godzina: minuty, 24-zegar)((1|0?)[0-9]|}}2]|-3]:([0-5][0-9]
chińskie (znak)[\u4e00-\u9fa5]
chińskie i pełne-polskie znaki przestankowe (znaki)[\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
numer telefonu stacjonarnego na kontynencie chińskim(\d{4}-|\d{3}-)?(\d{8}|\d{7)
numer telefonu komórkowego na kontynencie chińskim1\d{10}
kod pocztowy na kontynencie chińskim[1-9]\d{5}
numer ID na kontynencie chińskim (15 lub 18 cyfr)\d{15}(\d\d[0-9xX])?
Nie-ujemna liczba całkowita (dodatnia liczba całkowita lub zero)\d+
dodatnia liczba całkowita]|-9]*[1-9][0-9]*
ujemna liczba całkowita-]|-9]*[1-9][0-9]*
liczba całkowita-?\d+
dziesiętna(-?\d+)(\.\d+)?
Słowa, które nie zawierają abc\b((?!abc)\w)+\b
wyjaśnieniewyrażenie regularne
nazwa użytkownika/^[a-z0-9_-]{3,16$/
hasło/^[a-z0-9_-]{6,18$/
wartość szesnastkowa/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
E-adres e-mail/^([a-z0-9_\.-]+)@([\da-z\.-]+]\.([a-[\2,6})$/
URL/^(https?:\/\/)?([\da-z\.-]+]\.([a-[\2,6})/\w \.-]*)*\/?$/
Adres IP/^((?:25]|-5]|}}2]|-4][0-9]|[01]?[0-9][0-9}325]|-5]|}}2]|-4][0-9]|[01]?[0-9][0-9]?)$/
tag HTML/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Zakres znaków chińskich w kodowaniu Unicode/^[u4e00-u9fa5],{0,}$/
Wyrażenia regularne dopasowujące znaki chińskie[\u4e00-\u9fa5]
Komentarz: Dopasowanie chińskiego naprawdę jest problemem. Z tym wyrażeniem, jest łatwe do obsługi
Pasuj do podwójnej-znak bajtów (w tym znaków chińskich)^[^\x00-\xff]
Komentarz: Można go użyć do obliczenia długości ciągu (2 dla podwójnej-znak bajtowy, 1 dla znaków ASCII)
Wyrażenie regularne dopasowujące puste wiersze\n\s*\r
Uwagi: Można go użyć do usunięcia pustych wierszy
Wyrażenia regularne dopasowujące tagi HTML<(\S*?)[^>]*>.*<?/\1>|<.*?/>
Komentarz: Wersja krążąca w Internecie jest zbyt słaba. Wersja powyższa może dopasować tylko część z nich, i jest bezradna wobec złożonych wcięć.
Wyrażenie regularne dopasowujące pierwsze i ostatnie znaki białe^\s*|\s*$
Komentarz: Można go użyć do usunięcia znaków białych na początku i końcu wiersza (w tym przestrzeni, tabulacji, przejść stron, itp.), bardzo przydatne wyrażenie.
Wyrażenie regularne do dopasowywania adresów e-mail\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Uwagi: Przydatne przy walidacji formularzy
Dopasowanie wyrażenia regularnego URL[a-zA-z]+://^[^\s]*
Komentarz: Wersja krążąca w Internecie ma bardzo ograniczone funkcje, powyższe基本满足需求.
Pasuj, czy konto jest legalne (zaczyna się od litery, zezwól 5-16 bajty, zezwól na alfanumeryczne podkreślenia)^[a-zA-Z][a-zA-Z0-9_]{4,15$
Uwagi: Przydatne przy walidacji formularzy
Pasuj do krajowych numerów telefonów\d{3}-\d{8}|\d{4}-\d{7}
Komentarz: Pasują formy takie jak 0511-4405222 lub 021-87888822
Pasuj do numeru Tencent QQ[1-9][0-9]{4,}
Komentarz: Numer telefonu Tencent QQ zaczyna się od 10000
Pasuj do chińskiego kontynentalnego kodu pocztowego[1-9]\d{5}(?!\d)
Komentarz: Chiński kontynentalny kod pocztowy to 6 cyfry
Pasuj do ID\d{15}|\d{18}
Uwaga: Chiński kontynentalny numer dowodu osobistego to 15 lub 18 cyfry
Pasuj do adresu IP\d+.\d+.\d+.\d+
Uwagi: Przydatne przy wydobywaniu adresów IP
Pasuj do konkretnych liczb:
match floating1-9]\d*$//pasuje do pozytywnej liczby całkowitej
^-[1-9]\d*$//pasuje do ujemnej liczby całkowitej
^-?[1-9]\d*$//pasuje do liczby całkowitej
match floating1-9]\d*|0$Zgodność nie-ujemne liczby (pozytywne liczby + 0)
^-[1-9]\d*|0$Zgodność nie-pozytywne liczby (ujemne liczby + 0)
match floating1-9]\d*.\d*|0\.\d*[1-9]\d*$//Match positive floating-liczb zmiennoprzestrzennych
^-([1-9]\d*.\d*|0\.\d*[1-9]\d*Match positive floating//)]$-liczb zmiennoprzestrzennych
^-match negative floating1-9]\d*.\d*|0\.\d*[1-9]\d*^[+?([//|0)$-liczb zmiennoprzestrzennych
match floating1-9]\d*.\d*|0\.\d*[1-9]\d*^[+|0$Zgodność nie-|0?\.0-liczb zmiennoprzestrzennych (pozytywnych zmiennoprzestrzennych-liczb zmiennoprzestrzennych + 0)
^(-([1-9]\d*.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$Zgodność nie-zmiennoprzestrzennych-liczb zmiennoprzestrzennych (ujemnych zmiennoprzestrzennych-liczb zmiennoprzestrzennych + 0)
Uwagi: Przy pracy z dużymi ilościami danych, zwracaj uwagę na poprawki w konkretnych aplikacjach.
Zgodność specyficznych ciągów znaków
^[A-Za-z]+$//Zgodność ciągu znaków złożonego z 26 angielskich liter
^[A-Z]+$//Pasuje do ciągu znaków złożonego z 26 angielskich liter
^[a-z]+$//Pasuje do ciągu znaków złożonego z 26 małych liter
^[A-Za-z0-9]+$//Zgodność ciągu znaków złożonego z liczb i 26 liter
^\w+$//Pasuje do ciągu znaków złożonego z liczb, 26 liter, lub podkreśleń
znakopis
\Oznacza następny znak jako znak specjalny, lub literał, lub odniesienie wsteczne, lub znak ucieczki ósemkowy. Na przykład, "n" pasuje do znaku "n". " n" pasuje do znaku nowej linii. Sekwencja "\" pasuje do "" i " (" pasuje do " (").
^Pasuje do początkowej pozycji ciągu wejściowego. Jeśli właściwość Multiline obiektu RegExp jest ustawiona, ^ również pasuje do pozycji po " n" lub " r".
$Pasuje do końcowej pozycji ciągu wejściowego. Jeśli właściwość Multiline obiektu RegExp jest ustawiona, $ również pasuje do pozycji przed "\n" lub "\r".
*Pasuje do poprzedzającego wyrażenia zero lub więcej razy. Na przykład, zo * może pasować do "z" i "zoo". * jest równoważne {0,}.
+Pasuje do poprzedzającego wyrażenia jeden lub więcej razy. Na przykład, "zo +" pasuje do "zo" i "zoo", ale nie do "z". + jest równoważne {1,}.
?Pasuje do poprzedzającego wyrażenia zero lub jeden raz. Na przykład, "do (es)?" może pasować do "do" w "do" lub "does". ? jest równoważne {0,1}.
{n}n jest liczbą niezerową-liczba całkowita ujemna. Pasuje określoną liczbę razy. Na przykład, "o {2"}" nie pasuje do "o" w "Bob", ale pasuje do dwóch "o" w "food".
{n,}n jest liczbą niezerową-liczby ujemne. Dopasowuje co najmniej n razy. Na przykład, "o {2,}" nie dopasowuje "o" w "Bob", ale dopasowuje wszystkie "o" w "foooood". "o {1,}" jest ekwiwalentne z "o +". "o {0,}" jest ekwiwalentne z "o *".
{n,m}m i n są obie liczby ujemne-liczby ujemne, gdzie n <= m. Dopasuj co najmniej n razy i co najwyżej m razy. Na przykład, "o {1,3}" dopasuje pierwsze trzy "o" w "fooooood". "o {0,1}" jest ekwiwalentne z "o?". Uwaga, między przecinkami i dwoma liczbami nie może być przestrzeni.
?Kiedy znak natychmiast po jakimkolwiek innym ograniczeniu(*,+,?،{n},{n,},{n,m}), wzorzec dopasowujący jest niechciwy. Tryb niechciwy dopasowuje szukany ciąg tak mało jak to możliwe, podczas gdy domyślny tryb chciwy dopasowuje szukany ciąg tak dużo jak to możliwe. Na przykład, dla ciągu "oooo", "o +?" dopasuje pojedynczy "o", i "o +" dopasuje wszystkie "o".
.Dopasowuje każdy pojedynczy znak oprócz " n". Aby dopasować każdy znak w tym " n", użyj wzorca takiego jak "[.n]".
(wzorzec)Dopasowuje wzorzec i uzyskuje dopasowanie. Uzyskane dopasowanie można uzyskać z kolekcji wyników dopasowań, używając kolekcji SubMatches w VBScript i 0 dolarów... 9 atrybutu dolarów w JScript. Aby dopasować znaki nawiasów, użyj " (" lub ") ".
(?:wzorzec)Dopasowuje wzorzec, ale nie uzyskuje wyniku dopasowania, to znaczy, jest to nie-pobieranie dopasowania i nie jest przechowywane do późniejszego użycia. Jest to przydatne przy użyciu znaku "or" (|) " do łączenia części wzorca. Na przykład, "industr (?: y | ies) " jest krótszym wyrażeniem niż "industry | industries".
(?=wzorzec)Przednie dopasowanie dopasowuje ciąg wyszukiwania na początku każdej ciągu, który pasuje do wzorca. To jest nie-pobieranie dopasowania, to znaczy, dopasowanie nie musi być pobrane do późniejszego użycia. Na przykład, "Windows (? = 95 | 98 | NT | 2000) " dopasowuje "Windows" w "Windows2000", ale nie "Windows" w "Windows3.1". Wyszukiwanie nie zużywa znaków, to znaczy, po wystąpieniu dopasowania, wyszukiwanie następnego dopasowania rozpoczyna się natychmiast po ostatnim dopasowaniu, zamiast po znaku zawierającym wyszukiwanie.
(?!pattern)Negatywne wyszukiwanie dopasowuje ciąg wyszukiwania na początku każdego ciągu, który nie pasuje do wzorca. To jest non-pobieranie dopasowania, to znaczy, dopasowanie nie musi być pobrane do późniejszego użycia. Na przykład, "Windows (?! 95 | 98 | NT | 2000) " dopasowuje "Windows" w "Windows3.1", ale nie "Windows" w "Windows2000". Wyszukiwanie nie zużywa znaków, to znaczy, po dopasowaniu, wyszukiwanie następnego dopasowania rozpoczyna się natychmiast po ostatnim dopasowaniu, a nie po znaku zawierającym wyszukiwanie.
x|yDopasowuje x lub y. Na przykład, "z | food" dopasowuje "z" lub "food". " (z | f) ood" dopasowuje "zood" lub "food".
[xyz]Zestaw znaków. Dopasowuje każdy znak zawarty. Na przykład, "[abc]" dopasowuje "a" w "plain".
[^xyz]Zestaw negatywnych znaków. Dopasowuje każdy znak nie zawarty. Na przykład, "[^ abc]" dopasowuje "p" w "plain".
[a-z]Zakres znaków. Dopasowuje każdy znak w określonym zakresie. Na przykład, "[a-z]" może dopasować każdą małą literę w zakresie "a" do "z".
[^a-z]Negatywny zakres znaków. Dopasowuje każdy znak nie znajdujący się w określonym zakresie. Na przykład, "[^ a-z]" może dopasować każdy znak nie znajdujący się w zakresie "a" do "z".
\bDopasowuje granicę słowa, która odnosi się do pozycji między słowem a spacją. Na przykład, "er b" może dopasować "er" w "never", ale nie "er" w "verb".
\BDopasowuje znak nie-granice słów. "er B" dopasowuje "er" w "verb", ale nie "er" w "never".
\cxDopasowuje znak kontrolny określony przez x. Na przykład, cM dopasowuje Control-M lub odwrót karet. Wartość x musi być either A-Z lub a-z. W przeciwnym razie, c jest traktowany jako dosłowny znak "c".
\dDopasowuje znak cyfrowy. Równoważne z [0-9].
\DDopasowuje znak nie-znak cyfrowy. Równoważne z [^ 0-9].
\fDopasowuje znak stroniczki. Równoważne z \x0c i \cL.
\nDopasowuje znak nowej linii. Równoważne z \x0a i \cJ.
\rPasuje do odwróconego znaku karetowego. Ekwiwalent do \x0d i \cM.
\sPasuje do każdego znaku białego miejsca, w tym spacji, tabulacji, strzałek stron, itp. Ekwiwalent do [\f\n\r\t\v].
\SPasuje do każdego znaku nie-znak białego miejsca. Ekwiwalent do [^\f\n\r\t\v].
\tPasuje do znaku tabulacji. Ekwiwalent do \x09 i \cI.
\vPasuje do znaku wiersza pionowego. Ekwiwalent do \x0b i \cK.
\wPasuje do każdego znaku słów, który zawiera podkreślenie. Ekwiwalent do "[A-Za-z0-9_]".
\WPasuje do każdego znaku nie-znak słów. Ekwiwalent do "[^ A-Za-z0-9_]".
\xnPasuje do n, gdzie n jest wartością ucieczki szesnastkowej. Wartość ucieczki szesnastkowej musi być długością zidentyfikowanych dwóch liczb. Na przykład, " \x41" pasuje do "A". " \x041" jest ekwiwalentne do " \x04 & 1". Kodowanie ASCII można używać w wyrażeniach regularnych.
\numPasuje do num, gdzie num jest liczbą całkowitą. Odniesienie do uzyskanego dopasowania. Na przykład, " (.) 1" pasuje do dwóch kolejnych identycznych znaków.
\nIdentyfikuje wartość ucieczki ósemkowej lub odniesienie wsteczne. Jeśli \n jest poprzedzony co najmniej n wyrażeniami nabyte, to n jest odniesieniem wstecznym. W przeciwnym razie, jeśli n jest liczbą ósemkową (0-7), to n jest wartością ucieczki ósemkowej.
\nmIdentyfikuje wartość ucieczki ósemkowej lub odniesienie wsteczne. Nm jest odniesieniem wstecznym, jeśli nm jest poprzedzony co najmniej nm wyrażeniami akquirer. Jeśli \nm jest poprzedzony co najmniej n akquirerami, to n jest odniesieniem wstecznym po którym następuje dosłownie m. Jeśli żadna z powyższych warunków nie jest spełniona, jeśli zarówno n jak i m są cyframi ósemkowymi (0-7), to nm pasuje do wartości ucieczki ósemkowej nm.
\nmlJeśli n jest cyfrą ósemkową (0-3), a zarówno m jak i l to cyfry ósemkowe (0-7), wartość ucieczki ósemkowa nml jest pasująca.
\unPasuje do n, gdzie n jest znakiem Unicode reprezentowanym przez cztery cyfry szesnastkowe. Na przykład, \ u00A9 pasuje do symbolu copyright (©).
Twoje kroki: