정규식

K-위키
옛@Uin1 (토론)님의 2021년 11월 28일 (일) 17:11 판 (부정하위식 잘못된 설명수정)
주의. 이 문서는 공머생들이 좋아하는 주제 혹은 공머생 그 자체에 대해 다룹니다.
본 문서가 다루는 내용에 지나치게 탐닉할 경우 필연적으로 여성들과 멀어지게 됩니다.
이는 디시위키가 책임지지 않습니다.
이 문서는 유용한 정보가 담긴 문서입니다.
이 문서는 디시위키답지 않게 정말로 유용하거나 자세한 정보를 가득 담고 있습니다. 지식이 늘었다!

설명

Regular Expression, regexp, regex

정규 표현식. 프로그래머들이 애용한다.

문법

메타문자 동일문자 기능/설명 예시
\ escaping \., \?, [\-]
? {0,1} 0 or 1개 (앞 문자 혹은 하위식이 없거나 1개) a? = a가 있거나 없음.
* {0,} 0개 이상 (앞 문자가 없거나 1개 이상)
+ {1,} 1개 이상 (앞 문자가 1개 이상)
{1} {1,1} 1개 (앞 문자가 정확히 1개) {2,4} = 2~4개.
. 임의 문자 (뒤에 갯수 지정이 없을경우 1개) .* = 임의 문자가 없거나 1개이상. (코드 맨 뒤에 자주 쓰임)
(a) 하위식 (abc|adc) = a(b|d)c = 'abc' or 'adc' (해당 문자와 일치하는 문자)
(?!(a)) 부정 하위식 (?!(ass|dick))\w* = not ass+dick (해당 문자들을 제외한 영숫자 문자)
[a] 문자 클래스 [abd] = a+b+d (해당 단일 문자들과 일치하는 문자) (배치순서와 무관)
[^a] 부정 문자클래스 [^ab./] = not a+b+.+/ (해당 단일 문자들을 제외한 모든문자)
[a-c] [abc] a+b+c
[a-zA-Z0-9_] \w 영숫자+_
[a-zA-Z0-9%\-_] 영숫자+한글 등 모든 언어+공백+-+_

적용 예시

  • 특정 사이트 제외: @document regexp('https?://(?!(namu|twitter))[A-Za-z0-9%\-_]*\.?(?!(daum|dc[cin]|namu|twitter))[A-Za-z0-9%\-_]*(\.\w{2,3}|\.\w{2}\.\w{2}|\.wiki)/.*') = 트위터+다음+디시인사이드+위키(+디키+남간등)를 제외한 모든 사이트 적용.
  • 이메일 검사: (\w+\.)*\w+@(\w+\.)+[A-Za-z]+ = 이메일 검사 코드 열줄 넘게 쓸걸 이거 한줄이면 끝나는데 많이 편하다.

같이 보기