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 | yMatches 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.
BWord boundary에 일치합니다. 이는 단어와 공백 사이의 위치를 의미합니다. 예를 들어, "Er b"Can match"Never"In"er"But they don't match."Verb"In"er".
BNon-word boundaries. "Er B"Can match"Verb"In"er"But they don't match."Never"In"er".
Cxx에 지정된 제어 문자에 일치합니다. 예를 들어, cM은 Control-M 또는 carriage return. x의 값은 A-Z 또는 a-z. 그렇지 않으면, c를 literally "로 처리합니다C"문자.
D숫자 문자에 일치합니다. [0과 동일합니다.-9].
DNon-숫자 문자. [^ 0과 동일합니다.-9].
FPage feed 문자에 일치합니다. x0c와 cL과 동일합니다.
nNewline 문자에 일치합니다. x0a와 cJ과 동일합니다.
rCarriage return에 일치합니다. x0d와 cM과 동일합니다.
sMatches 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].
tMatches a tab. Equivalent to x09 and cI.
VMatches 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"연속적으로 같은 두 문자를 일치시킵니다."
\N8진수 이스케이프 값 또는 후退 참조를 식별합니다. 만약\N적어도 이전에N획득한 하위 표현식이면N후退 참조에 대해. 그렇지 않으면, 만약N8진수 숫자입니다 (0-7), 그래서N8진수 이스케이프 값입니다.
\nm8진수 이스케이프 값 또는 후退 참조를 식별합니다. 만약\nm적어도 이전에nm하위 표현식을 획득하려면nm후退 참조입니다. 만약\nm적어도 이전에N획득한 후에N이후 텍스트에 대해m이전 조건 중 어느 하나도 만족되지 않으면, 그렇다면N하고m둘 다 8진수 숫자입니다 (0-7), 그래서\nm8진수 이스케이프 값과 일치하도록 하세요nm.
\nmlIFN8진수 숫자입니다 (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 모드, 간단하고 빠른 방식으로 문자열을 제어.

당신의 발자국: