위키백과:AutoWikiBrowser/Regular expressionAutoWikiBrowser/정규식
Wikipedia:AutoWikiBrowser 사용 설명서의 정규식 하위 섹션 입니다.
|
| 장: | 코어 · 데이터베이스 스캐너 · 찾기 및 바꾸기 · 정규식 · 일반 수정 사항 |
|---|
정규식 정의
| 정규식(.네트) | ||
|---|---|---|
| 앵커스 | 평. | |
| ^ | 문자열의 시작 | 페이지의 첫 번째 문자 |
| \A | 문자열의 시작 | 페이지의 첫 번째 문자 |
| $ | 문자열 끝 | 페이지의 마지막 문자 |
| \Z | 문자열 끝 | 페이지의 마지막 문자 |
| \b | 단어 경계에서 | 문자, 숫자 또는 밑줄 문자 |
| \B | 단어의 경계에는 없다. | 문자, 숫자 또는 밑줄 문자에 없음 |
| 캐릭터 클래스 | 예 | |
| \w | 단어 문자(글자, 숫자, 밑줄) | abcdefghijklmnopqstuvwxyzABCDEFGIZKMNOPQERSUVWXYZ 0123456789_ |
| \W | 어떤 캐릭터"단어"문자보다 다른. | 달러?!#%*@ 및;:.,+-±=^"`\ /<를<>{}[]()~( 줄 바꿈)())(우주) |
| \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] | a와 q 사이의 소문자 | |
| [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개를 삽입하는 등... 이 모든 것은 짧게 자른 매크로 키를 만들면 된다.
- 프로세스
짧게 자른 매크로 키의 이름은 어떤 이름이라도 될 수 있다. 그러나 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\]*\]외부 링크
온라인 정규식 테스트 도구
- RegEx Storm(지원).NET regex 향미);
- RegEx101(지원하지 않음).NET향미, PCRE/Javascript를 사용하여 접근성 확보)
- 렉스엑스팔
- 레지스르
- 루블러
데스크톱 정규식 테스트 도구
정규식에 대한 문서화
- 의 정규식.NET 웰 하우스 컨설턴트.
- Regular-Expressions.info
- 정규 표현식 perldoc.perl.org.
- 정규식 구문 문서.python.org.
- 정규식 언어 - 빠른 참조 MSDN.
- .NET 정규식 MSDN.
- 정규식 - 사용자 안내서 zytrax.com.