위키백과:AutoWikiBrowser/Regular expressionAutoWikiBrowser/정규식

Wikipedia:

정규식 정의

정규식(.네트)
앵커스 평.
^ 문자열의 시작 페이지의 첫 번째 문자
\A 문자열의 시작 페이지의 첫 번째 문자
$ 문자열 끝 페이지의 마지막 문자
\Z 문자열 끝 페이지의 마지막 문자
\b 단어 경계에서 문자, 숫자 또는 밑줄 문자
\B 단어의 경계에는 없다. 문자, 숫자 또는 밑줄 문자에 없음
캐릭터 클래스
\w 단어 문자(글자, 숫자, 밑줄) abcdefghijklmnopqstuvwxyzABCDEFGIZKMNOPQERSUVWXYZ
0123456789_
\W 어떤 캐릭터"단어"문자보다 다른. 달러?!#%*@ 및;:.,+-±=^"`\ /&lt를<>{}[]()~( 줄 바꿈)())(우주)
\s 백색 공간 성격 (우주)())( 새로운 라인 리터럴)(반환).
\S 어떤 캐릭터 흰 공간보다 다른. Abcxyz_ABCXYZ$?!#%*@ 및;:.,+-=^"/<,{-LSB-(~0123789(불완전 목록)
\d 어떤 숫자 0123456789
\D 어떤 캐릭터 숫자보다 다른. Abcxyz_ABCXYZ$?!#%*@ 및;:.,+-=^"/<,{-LSB-(~( 줄 바꿈)())(우주)(불완전 목록)
\n 새줄 문자 ( 줄 바꿈)
\p{L} 모든unicode 편지 AaÃãÂâĂăÄäÅå(불완전 목록)
\p{Ll} 모든 소문자 unicode 편지 aãâăäå(불완전 목록)
\p{루} 모든 2unicode 편지 AÃÂĂÄÅ(불완전 목록)
\r 캐리지 리턴 (캐리지 리턴)
\t (iii)
\c 제어 문자 Ctrl-A ~ Ctrl-Z(0x01–0x1A)
\x 16진수 숫자 0123456789abcdefABCDEF
\0 임의의 8진수 01234567
정량자 평.
* 0 이상
+ 1개 이상
? 0 또는 1
{3} 정확히 3
{3,} 3개 이상
{2,4} 둘, 셋, 4
이스케이프 캐릭터 평.
\ 이스케이프 캐릭터
메타카락터(탈출해야 함) 평.
메타차박터 메타차박터 탈출
^ \^ 이 목록에 없음: =}#!/%&_:; (문서 목록)
$ \$
( \(
) \)
< \<
. \.
* \*
+ \+
? \?
[ \[
] \]
{ \{
\ \\
\
> \>
그룹 및 범위
참고: 범위는 포함됨
평.
. 뉴라인을 제외한 모든 문자
( . . . ) 캡처 그룹( 괄호 사이의 모든 것을 캡처) 캡처된 그룹 역참조: $1, $2
(iii) abc(순서) $1, $2, 등을 역참조라고 한다.
교대(우측 또는 좌측 중 하나에 해당)
ab cd ef ab 또는 cd 또는 ef
[def] d 또는 e 또는 f
[^^] a 또는 b 또는 c를 제외한 모든 항목(뉴라인 포함)
[a-q] aq 사이의 소문자
[A-Q] A와 Q 사이의 대문자
[0-7] 0과 7 사이의 숫자
문자열 매칭 평.
\1, \2, \3 캡처된 그룹의 문자열 일치 (...). (\n[^\n]+)\1 인접한 동일 선과 일치. $1 한 부로 대체될 것이다.
\k[이름> 명명된 캡처된 그룹의 문자열 일치 ....)
뒤로 참조 평.
(sam) (최대) (최대) $1 - returns sam
(sam) (최대) (최대) $2 - 최대값 반환
(sam) (최대) (최대) $3 - 돌아온 피트
(A) (B) (C) (D) (E) (F) (G) (I) (J) $10 - 반품 J
(A) (B) (C) (D) (E) (F) (G) (I) (J) ${1}0 - A0 반환
확장 표기법 평.
(?:...) 비수술용 파렌즈 (?:abc) 일치하고 소비하지만 포착하지 말라, abc.
(?=...) 스트링이 소비되지 않는 긍정적인 머리 모양 abc(?=xyz) xyz 뒤에 오는 경우에만 abc와 일치
(?!...) 부정적으로 보이는, 사용된 문자열 없음 abc(?!xyz) xyz 뒤에 오는 경우를 제외하고 abc와 일치한다.
(?<=...) 긍정적인 표정, 사용된 문자열 없음 (?<=xyz)abc xyz 앞에 있는 경우에만 abc 일치
(?<!...) 부정적인 표정, 사용된 문자열 없음 (?<!xyz)abc xyz가 선행하는 경우를 제외하고 abc와 일치
(?<name>...) 캡처 그룹에 이름 지정 (?<year>\b\d{4}\b) 2016년 낱말과 일치하다. 다음 명령을 사용하여 명명된 그룹 참조 ${year}
(?#...) 댓글 (?#Just a comment in here)
샘플 패턴
레겔스 패턴 윌 매치 평.
([A-Za-z0-9-]+) 문자, 숫자 및 하이픈을 포함하는 하나 이상의 문자
(\d{1,2}\/\d{1,2}\d{4}) 날짜 2008년 3월 24일 또는 2008년 3월 24일 또는 2008년 24일
\[\d{4}\] 4자리 숫자 위키 링크 [[2008]
(Jan(?:uary \. ) 2월(?:ruary \. ) 3월(?:ch \. ) 4월(?:il \. ) 5월\? 준(?:e \. ) 줄(?:y \. ) 8월(?:ust \. ) 9월(?:tember \.t\? ) 10월(?:ober \. ) 11월(?:ember \. ) 12월(?:ember \. ) 전체 이름 또는 약칭 월 이름

토큰 및 그룹

토큰과 그룹은 정규식의 일부분으로, 연속 일치 항목 수를 수정하기 위해 계량자가 뒤따를 수 있다. 토큰은 문자, 특수 문자, 문자 클래스 또는 범위(예: [m-q]) 그룹은 토큰 또는 기타 그룹을 괄호 안에 포함시켜 형성된다. 이 모든 것은 정량기에 의해 여러 번 일치하도록 수정할 수 있다. 예를 들면 다음과 같다. a?, \n+, \d{4}, [m-r]*, (a?\n+\d{4}[m-r]* not){3,7}그리고 ((?:97[89]-?)?(?:\d[ -]?){9}[\dXx]).

탐욕과 정량자

탐욕은 정규식 문맥에서 토큰의 숫자(또는 숫자의 범위)를 지정하는 정량자 뒤에 있는 토큰 또는 그룹, 즉 정규식의 가변 길이 부분에 의해 일치(흔히 "소비된"이라고도 표현됨)될 문자의 수를 설명한다. 정규 표현에서 차지하는 비중이 '귀여움'이라면 가능한 한 많은 문자와 일치하게 된다. 욕심이 없으면 가능한 한 적은 글자와 일치한다.

이 문자열에서:

[[Lorem ipsum] dolor sit amet, [concectetur addipiscing] elit, sed do eiusmod timpod incidunt utloban et dolorore magna aliqua.

이 표현식:

\[\[.*\]\]

일치할 것이다 [[Lorem ipsum]] dolor sit amet, [[consectetur adipisicing]].

다음 표현식:

\[\[.*?\]\]

일치할 것이다 [[Lorem ipsum]] 그리고 [[consectetur adipisicing]].

다음과 같은 표현을 조심하라. (\w)(<ref[^<>]*>.*?</ref>)([,.:;])외부 조건이 충족될 경우 둘 이상의 기준 그룹에 걸쳐 있는 센터 캡처 그룹:
sed do eiusmod tempor<ref>reference</ref> incididunt ut <ref>reference 2</ref>. labore

재귀 부분군

\[\[(이미지:[^][ ]+)\ ([^][]*(\[\[[^][]+\]\][^][]*)*)\]\]

정규식 예제

정규식 예제
Flagicon 템플릿 검색 및 제거
찾기: \{\s*?[FF]래지콘\s*?\ .*?\}\}
다음으로 바꾸기: (아무것도)
검색할 텍스트의 예: {{플래지콘 USA}} [[미국]
결과: [[미국]
설명:
세 가지 템플릿 매개 변수 중 하나를 검색하고 값을 새 값으로 바꾸기
찾기: ([\ ]\s*)(배우자 주목할 만한 작품)(\s*=\s*)([^\ \}]+)(?)?=\s*(\ })
다음으로 바꾸기: $1$2$3 새로운 가치
검색할 텍스트의 예: {{인포박스명=스테베오직업=댄서 국적=달}
결과: {{인포박스명=스테베오직업=신가치국적=달}
설명: 1달러 2달러, 3달러는 공백을 보존하는 데 쓰는 것이다. 컷다운 버전은 템플릿 매개변수의 이름을 바꾸는 데 사용될 수 있다. 4달러에 대해 추가 처리를 수행할 수 있다.

팁과 요령

단순 검색

기사 페이지 찾기, 제목 첫 글자는 A Regex: ^토크 페이지 찾기, 제목 첫 글자는 B Regex: ^Talk:b

앞/뒤로 보기 사용

[url]과 [url 제목] 일치 Regex: \[*(?:\w+: ?\/\/[^\/[\]\s"+) *([^\n\]+(?=\])\]+\s* $1에 URL이 포함될 것이다. 2달러는 후행 없이 타이틀을 포함하거나 비어 있을 것이다.

사용자가 만든 바로 가기 편집 매크로

당신은 당신만의 바로 가기 편집 매크로를 만들 수 있다. 페이지를 편집할 때 AWB가 원하는 위치에 바로 잘라낸 매크로 키를 입력할 수 있다.

예를 들어 AWB 편집 상자에서 페이지를 검사하는 경우 추가와 같은 수많은 항목을 볼 수 있음 {{fact}}, 줄 바꿈 <br> 삽입, 전체 줄 <!-- comment --> 삽입 상태 이름 <ref> 삽입여기에 각주 텍스트를 삽입하고 레벨 2, 3, 심지어 헤드라인 4개를 삽입하는 등... 이 모든 것은 짧게 자른 매크로 키를 만들면 된다.

  • 프로세스
  1. 규칙을 만들어라. 찾기교체를 참조하십시오.고급
  2. 편집 상자에서 페이지를 편집하십시오. AWB가 변경할 페이지의 아무 곳에나 짧게 자른 편집 매크로 키를 삽입하십시오.
  3. 페이지를 다시 파싱하십시오. 편집 상자를 마우스 오른쪽 버튼으로 누르고 컨텍스트 팝업 메뉴에서 다시 파싱을 선택하십시오. 그런 다음 AWB는 매크로 단축 키를 사용하여 페이지를 다시 검사하고 단축 키를 찾아 규칙에 지정한 작업을 수행한다.

짧게 자른 매크로 키의 이름은 어떤 이름이라도 될 수 있다. 그러나 AWB가 발견하고 제안할 수 있는 다른 어떤 과정에도 간섭하지 않도록 독특하게 만드는 것이 최선이다. 그런 이유로 /// 다음에 쉽게 기억할 수 있는 소문자 집합이 가장 좋다(하위 대소문자를 사용하여 Shift 키를 사용할 필요가 없음). 그런 다음, 직접 작성한 이러한 단축 매크로 키를 페이지에 입력하거나 편집 상자의 상황에 맞는 메뉴를 사용하여 더 많은 기능을 붙여넣을 수 있다. 우리가 3개의 '/'를 사용하는 이유는 AWB가 리파싱할 때 한 페이지의 주소/url을 혼동하지 않기 때문이다.

예:

규칙을 정규식으로 만드십시오.

사용자가 짧게 자른 편집 매크로 작성
///col 전체 줄에 주석 달기
쇼트컷 키: ///col
이름: 전체 줄에 주석 달기
찾기: ///coll(.*)
다음으로 바꾸기: <!-- $1 -->
재포장하기 전의 예: ///coll 빠른 갈색 여우는 게으른 개를 뛰어넘는다.
재파싱 후 결과: <!-- 빠른 갈색 여우가 게으른 개를 뛰어넘는다 -->
설명:
///br 라인 피드 삽입
쇼트컷 키: ///br
이름: 라인 피드 삽입
찾기: ///br
다음으로 바꾸기: <br />
재포장하기 전의 예: 이 부드러운 프렌치 번들///br을 좀 더 먹고 차를 좀 마셔라.
재파싱 후 결과: 이 부드러운 프랑스 빵 좀 더 먹고 차 좀 마셔.
설명:
///fac 현재 날짜와 함께 {{fact}} 삽입
쇼트컷 키: ///fac
이름: 현재 날짜와 함께 {{fact}} 삽입
찾기: ///fac
다음으로 바꾸기: {{fact date={{pact:Current Monthname} {{s{subst:현재년도}}}
재포장하기 전의 예: 빠른 갈색 여우는 게으른 개///fac를 뛰어넘는다.
재파싱 후 결과: 빠른 갈색 여우는 게으른 개{{fact date={{subst:Current Monthname} {{s{subst:현재년도}}}
설명:

토큰 일치

<ref></ref> 레렉스 내부 일치: <ref[^]*([^/] </^r] </r[^e] </re[^f] </ref[^])>+</ref>
(?와 일치하지 않음) 표기법 Regex: <ref[^]*([^<]>)>+</ref>를 사용하여 내부에서 일치시킨다.
일치 템플릿 {{...}}}에 템플릿이 포함되어 있지만 Regex 내부에 템플릿이 없는 경우: \{\{([^{] \[^{] \{\}}}+\}\}

보통매칭

단어와 공백 일치 Regex: [\w\s]+
비위키 텍스트 일치: [^][{} <>]+
브라켓 URL 일치 Regex: \[(https?://[^][<\s"+] *(<?>= )[^\n\]*\]

외부 링크

온라인 정규식 테스트 도구

데스크톱 정규식 테스트 도구

정규식에 대한 문서화