c, Perl, Swift, VBScript, Javascript, Ruby, 및 Python. 정규 표현식을 배우는 것은 매우 유연한 논리적 사고 방식을 배우는 것과 같습니다. 문자열을 제어하는 데 사용되는 간단하고 빠른 방법을 포함합니다. | 정규 문자 |
---|---|
\ | describeN 다음 문자를 특수 문자, 또는 literal 문자, 또는 backward reference, 또는 octal escape 문자로 표시합니다. 예를 들어, "N ". n " 일치 문자 "" 줄 바꿈 문자를 일치시킵니다. 시리얼 " "일치"\ "과 " ( "Then match"( ". |
\\ | ^ n "Or" r 입력 문자열의 시작 위치와 일치합니다. Multiline 속성이 RegExp 객체에 설정되어 있으면 ^도 일치합니다. |
$ | 그 후에. n "Or" r 입력 문자열의 끝 위치와 일치합니다. Multiline 속성이 RegExp 객체에 설정되어 있으면 $도 일치합니다. |
* | 이전 위치와 일치합니다. * 를 일치시킬 수 있습니다.Z "과 "zoo ". * 는 {0,}에 해당합니다. |
+ | 이전 서브표현식이 1번 이상 일치합니다. 예를 들어, "zo+ "Can match"zo "과 "zoo "But they don't match."Z ".+ 는 {에 해당합니다.1,}. |
? | 이전 서브표현식이 0번 또는 1번 일치합니다. 예를 들어, "합니다? "Can match"합니다 "Or"합니다 "In"합니다 ".? {0,}에 해당합니다.1}. |
{N} | N 비교자-부정수. 일치 결정됨 N시간. 예를 들어, "o{2} "을 일치시킬 수 없습니다.Bob "In"o "을 일치시킬 수 있습니다.Food "두 o. |
{N,} | N 비교자-부정수. 최소한 일치합니다. N시간. 예를 들어, "o{2,} "을 일치시킬 수 없습니다.Bob "In"o "을 일치시킬 수 있습니다.foooood "모든 o"O {1,} "동일합니다"O + ".O {0,} "에 해당합니다"O * ". |
{N,m} | m하고N둘 다 음-음수, 그리고N< =m적은 일치N두 번째로 많은 일치m시간. 예를 들어, "O {1,3} "일치합니다"FOOOOD ". 첫 번째 세 개의 o"O {0, 1} "동일합니다"O? ". 주의하세요, 컴마와 두 숫자 사이에는 공백이 없을 수 있습니다." |
? | 문자가 어떤 제한자인지(*,+,?,{N,}, {N,}, {N,m}) 나중에 일치하는 패턴은 음-긴급한 패턴.-긴급한 패턴은 가능한 한 적은 문자열을 일치시키며, 기본 긴급한 패턴은 가능한 한 많은 문자열을 일치시킵니다. 예를 들어, 문자열 "Oooo ","O +? "단일 문자와 일치합니다"o "그리고"O + "모든 것과 일치합니다"o ". |
. | 일치하지 않는 "\ N 단일 문자 중 "."를 제외한 모든 문자. 포함을 일치시키기 위해"\ N "포함된 모든 문자, 다음과 같은 것을 사용하십시오"(. | n) "모델. |
(패턴) | 패턴과 일치하고 일치를 가져옵니다. 얻은 일치는 결과 Matches 컬렉션에서 VBScript의 SubMatches 컬렉션을 사용하여 0 달러... 9 달러 속성을 JScript에서 일치시키기 위해 " ( "Or") ". |
(?: 패턴) | 패턴과 일치하지만 일치 결과를 가져오지 않습니다. 즉, 이는 음-일치를 가져오고 이후 사용을 위해 저장하지 않습니다. 이는 "(|) "패턴의 일부를 결합하는 것이 유용합니다. 예를 들어"산업(?: y | ies) "단순한 비교"산업 | 산업 "더 단축된 표현." |
(?= 패턴) | 양의 사전 검색은 일치하는 패턴의 문자열의 시작 부분에서 검색 문자열과 일치합니다. 이는 음-일치를 가져오는 것이 필요하지 않습니다. 예를 들어, "Windows (? = 95 | 98 | NT | 2000) "Can match"Windows 2000 "In"Windows "But they don't match."Windows 3.1 "In"Windows ". Pre-검색은 문자를 소비하지 않습니다. 즉, 일치가 발생한 후 다음 일치를 찾기 시작하는 것은 마지막 일치 이후 즉시이며, 프리-검색. |
(?! 패턴) | 문자열의 시작 부분에서 패턴과 일치하지 않는 문자열에서 검색 문자열과 일치하는 음의 검색. 이는 음-fetch match, 즉, 후에 사용하기 위해 일치를 가져오는 필요가 없습니다. 예를 들어 "Windows (?! 95 | 98 | NT | 2000) "Can match"Windows 3.1 "In"Windows "But they don't match."Windows 2000 "In"Windows ". Pre-search는 문자를 소비하지 않습니다. 즉, 일치가 발생한 후, 다음 일치를 찾기 시작합니다. pre-search |
(? < = pattern) | Reverse positive precheck은 forward positive precheck과 유사하지만 반대 방향입니다. 예를 들어, "(? < = 95 | 98 | NT | 2000) Windows "Can match"2000Windows "In"Windows "But they don't match."3.1 Windows "In"Windows ". |
(? <! pattern) | Reverse negative precheck은 forward negative precheck과 유사하지만 반대 방향입니다. 예를 들어 "(? <! 95 | 98 | NT | 2000) Windows "Can match"3.1 Windows "In"Windows "But they don't match."2000Windows "In"Windows ". |
X | y | Matches x or y. For example, "Z | food "Can match"Z "Or"Food ".(Z | f) ood "Then match"Zood "Or"Food ". |
[Xyz] | Character set. Matches any character contained. For example, "[Abc] "Can match"plain "In"A ". |
^[^ xyz] | Set of negative characters. Matches any character not contained. For example, "^[^ abc] "Can match"plain "In"p ". |
[A-z] | Character range. Matches any character within the specified range. For example, "[A-z] "Can match"A "To."Z "Any lowercase alphabetic character in the range. |
^[^ a-z] | Negative character range. Matches any character that is not within the specified range. For example, "^[^ a-z] "Can match anything that is not there"A "To."Z "Any character in the range. |
B | Word boundary에 일치합니다. 이는 단어와 공백 사이의 위치를 의미합니다. 예를 들어, "Er b "Can match"Never "In"er "But they don't match."Verb "In"er ". |
B | Non-word boundaries. "Er B "Can match"Verb "In"er "But they don't match."Never "In"er ". |
Cx | x에 지정된 제어 문자에 일치합니다. 예를 들어, cM은 Control-M 또는 carriage return. x의 값은 A-Z 또는 a-z. 그렇지 않으면, c를 literally "로 처리합니다C "문자. |
D | 숫자 문자에 일치합니다. [0과 동일합니다.-9]. |
D | Non-숫자 문자. [^ 0과 동일합니다.-9]. |
F | Page feed 문자에 일치합니다. x0c와 cL과 동일합니다. |
n | Newline 문자에 일치합니다. x0a와 cJ과 동일합니다. |
r | Carriage return에 일치합니다. x0d와 cM과 동일합니다. |
s | Matches any whitespace character, including spaces, tabs, page feeds, etc. Equivalent to [ f n r t v]. |
S | 일치합니다-whitespace character. Equivalent to [^ f n r t v]. |
t | Matches a tab. Equivalent to x09 and cI. |
V | Matches a vertical tab. Equivalent to x0b and cK. |
W | 하이픈을 포함한 모든 단어 문자를 일치시킵니다. "에 해당합니다[A-Za-z0- 9_] ". |
W | 일치합니다-단어 문자. "에 해당합니다[^ A-Za-z0- 9_] ". |
XN | 일치N, 그리고N16진수 값을 이스케이프하여. 16진수 이스케이프 값은 결정된 두-자릿수. 예를 들어, " X41 "일치"A ". X041 "에 해당합니다" X04 & 1 ". 정규 표현식에서 ASCII 인코딩을 사용할 수 있습니다. |
\Num | 일치Num, 그리고Num양수입니다. 일치한 값에 대한 참조입니다. 예를 들어, "(.) 1 "연속적으로 같은 두 문자를 일치시킵니다." |
\N | 8진수 이스케이프 값 또는 후退 참조를 식별합니다. 만약\N적어도 이전에N획득한 하위 표현식이면N후退 참조에 대해. 그렇지 않으면, 만약N8진수 숫자입니다 (0-7), 그래서N8진수 이스케이프 값입니다. |
\nm | 8진수 이스케이프 값 또는 후退 참조를 식별합니다. 만약\nm적어도 이전에nm하위 표현식을 획득하려면nm후退 참조입니다. 만약\nm적어도 이전에N획득한 후에N이후 텍스트에 대해m이전 조건 중 어느 하나도 만족되지 않으면, 그렇다면N하고m둘 다 8진수 숫자입니다 (0-7), 그래서\nm8진수 이스케이프 값과 일치하도록 하세요nm. |
\nml | IFN8진수 숫자입니다 (0-3), 그리고M과 l둘 다 8진수 숫자입니다 (0-7), 그래서 8진수 이스케이프 값과 일치하도록 하세요nmL. |
uN | 일치N, 그리고N네 번호로 나타내는 유니코드 문자입니다. 예를 들어, ©는 저작권 기호(©)와 일치합니다. |
사용자 이름 | /^ [a - z0 - 9_ -] {3,16} $/ |
---|---|
비밀번호 | /^ [a - z0 - 9_ -] {6,18} $/ |
비밀번호 2 | (? = ^. {8 ,}$)(?=.* d )(?=.* W +)(?=.*[ A - Z ])(?=.*[ a - z ])(?!.* n). * $ (수자로 구성됩니다/대문자/소문자/문자, 모두 네 가지가 필요하며, 더 많은 8 digits) |
16진수 값 | /^ #? ([a-f0-9] {6} | [a-f0-9] {3}) $/ |
E-이메일 주소 | /^ ([a - z0 - 9 _.-]+)@([ da - z .-]+).([ a - z.] {2,6}) $/ /^ [a-z d] + (. [a-z d ]+)*@([ d a-z] (- [ d a-z ])?)+(.{ 1,2} [a-z] +) + $/또는W +([-+.] w +) * @ w +([-.] w +) *. w +([-.] w +) * |
URL | /^ (https ?://)?([ da - z .-]+).([ a - z.] {2,6 })([/ w .-]*)*/?$/ 또는 [A - zA - z ]+://[^ ] * |
IP 주소 | /((2 [0-4d | 25 [0-5] | [01? d d?) .) {3}2 [0-4d | 25 [0-5] | [01]? d d?)/ /^((?: 25 [0-5] | 2 [0-4] [0-9] | [01? [0-9] [0-9 ?.){ 3}) 25 [0-5] | 2 [0-4] [0-9] | [01? [0-9] [0-9?) $/또는 ((2 [0-4d | 25 [0-5] | [01? d d?) .) {3}2 [0-4d | 25 [0-5] | [01]? d d?) |
HTML 태그 | /^ < ([a - z ]+)([^<]+)*(?:>(.*)</ 1 > | s +/>)$/ 또는<(.*)(.*)>.*</ 1 >|<(.*) /> |
코드\ 주석 제거 | (? <! http: | S)//. * $ |
double 일치시킵니다-바이트 문자 (중국어 문자 포함) | [^ x00- xff] |
한자 (문자) | [One -] |
유니코드 인코딩에서 중국어 문자의 범위 | /^ [-] + $/ |
중국어와 전체-폭 기호 문자 (문자) | [- -: -, -! - 🥰] |
날짜 (년-월-일) | ( d {4}) | d {2) - ((0? ([1-9)) | (1 [1 | 2)) - ((0? [1-9]) | ([12] ([1-9)) | (3 [0 | 1)) |
날짜 (월/일/년) | ((0? [1-9] {1)) | (1 [1 | 2))/(0? [1-9] | ([12] [1-9)) | (3 [0 | 1))/( d {4}) | d {2) |
시간 (시간: 분, 24-시간 시계) | ((1 | 0?) [0-9] | 2 [0-3]): ([0-5] [0-9] |
중국 대륙 전화번호 | ( d {4} - | d {3} -)? ( d {8}) | d {7) |
중국 대륙 휴대폰 번호 | 1 d {10} |
중국 대륙 우편번호 | [1-9] d {5} |
중국 대륙 주민身份证 (15 또는 18 digits) | D {15} ( d d [0-9xX])? |
Non-음수 정수 (양수 정수 또는 0) | D + |
양수 정수 | [0-9] * [1-9] [0-9] * |
음수 정수 | - [0-9] * [1-9] [0-9] * |
정수 | -? d + |
소수점 | (-? d +) (. d +)? |
공백 줄 | N s * r 또는 n n (editplus) 또는 ^ [ s S] * n |
QQ 번호 | [1-9] d {4,} |
abc를 포함하지 않는 단어 | B ((?! abc) w) + b |
처음과 마지막 공백 문자를 일치시킵니다 | ^ s * | s * $ |
편집기에서 자주 사용됩니다 | 특수 중국어 (editplus)에 대한 몇 가지 대체 단어가 있습니다. ^ [0-9]. * n ^ [^]. * n ^ [연습]. * n ^ [ s S] * n ^ [0-9] *. ^ [ s S] * n < p [^<>*]> Href = "javascript: if (confirm ('(.*?)')) window .location ='(.*?)'" < Span style =".[^"]* rgb (255, 255, 255 )">.[^<>]*</ span > < DIV class = xs0 > [ s S] *? </DIV > |
일반적인 정규 표현식 체크리스트에 대한 정규 표현식 문법, 정규 표현식 문법 질문, 일반적인 정규 표현식 문법, 정규 표현식 기본 문법, sub-표현식 문법, 정규 표현식 변경자, 정규 표현식 greedy 모드, 정규 표현식 non-greedy 모드, 간단하고 빠른 방식으로 문자열을 제어.