"정규표현식 예시"의 두 판 사이의 차이

 
(사용자 9명의 중간 판 38개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;regular expression examples
;regular expression examples
;HTML 태그 정규식
;HTML 태그 정규식
;전화번호 정규식
;정규식 표현 예제


==찾기==
==기본 예시==
===태그===
{| class='wikitable'
*<code><textarea … ></code>부터 <code></textarea></code>까지
! 정규식 || 예시 || 설명
<source lang='text'>
|-
<textarea\b[^>]*>(.*?)</textarea>
| [가-힣] || 다 || 한글 글자 (단, 자모 제외)
</source>
|}
 
===IP===
*0.0.0.0 ~ 999.999.999.999 형식
<source lang='text'>
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
</source>


==주요 패턴==
===전화번호===
===전화번호===
*휴대전화 번호 000-0000-0000 형식
<syntaxhighlight lang='text'>
<source lang='text'>
^d{3}\-d{4}\-d{4}$
^\d{3}\-\d{4}\-\d{4}$
</syntaxhighlight>
</source>
:예: 012-3456-7890, 123-4567-8901
<syntaxhighlight lang='text'>
^d{2,3}\-d{3,4}\-d{4}$
</syntaxhighlight>
:예: 02-1234-5678, 031-234-5678, 123-456-7890
<syntaxhighlight lang='text'>
^01(?:0|1[6-9])\-(?:d{3}|d{4})\-d{4}$
</syntaxhighlight>


===이메일 주소===
===이메일 주소===
<source lang='text'>
<syntaxhighlight lang='text'>
^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+$
^[0-9a-zA-Z_\-]+@[.0-9a-zA-Z_\-]+$
</source>
</syntaxhighlight>
<source lang='text'>
<syntaxhighlight lang='text'>
^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(.[0-9a-zA-Z_-]+)*$
^[0-9a-zA-Z_\-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_\-]+)*$
</source>
</syntaxhighlight>
<source lang='text'>
<syntaxhighlight lang='text'>
^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(.[0-9a-zA-Z_-]+){1,2}$
^[0-9a-zA-Z_\-]+@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+){1,2}$
</source>
</syntaxhighlight>
<source lang='text'>
<syntaxhighlight lang='java'>
^[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$
\\w+@\\w+\\W\\w+
</source>
</syntaxhighlight>
 
===IP 주소===
<syntaxhighlight lang='text'>
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
</syntaxhighlight>
:0.0.0.0 ~ 999.999.999.999<ref>실제 IP 주소 범위와는 맞지 않음</ref>


===[[맥 주소]]===
===[[맥 주소]]===
<source lang='text'>
<syntaxhighlight lang='text'>
^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$
^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$
</source>
</syntaxhighlight>
 
===[[주민등록번호]]===
<syntaxhighlight lang='text'>
^\d{6}\-[1-4]\d{6}$
</syntaxhighlight>
 
===태그===
{{참고|정규표현식으로 HTML 태그 추출}}
*<code><textarea … ></code>부터 <code></textarea></code>까지
<syntaxhighlight lang='text'>
<textarea\b[^>]*>(.*?)</textarea>
</syntaxhighlight>
 
===한자===
<syntaxhighlight lang='text'>
[\x4E00-\x9FA5]|[\xF900-\xFA2D]
[\x{4E00}-\x{9FA5}]|[\x{F900}-\x{FA2D}]
</syntaxhighlight>
 
===다국어 ===
* 전각가나 [぀-ゟ゠-ヿ]
*히라가나 [\x{3041}-\x{309e}] / [぀-ゟ]
*전각 가타카나 [\x{309b}-\x{309c}\x{30a1}-\x{30fe}] / [゠-ヿ]
*반각 가나 [\x{ff61}-\x{ff9f}]
*CJK 표의문자 [\x{3400}-\x{9fff}\x{f900}-\x{fa2d}]
*힌디어 [\x{0900}-\x{097F}]
*러시아어 [\x{0410}-\x{044F}\x{0500}-\x{052F}\x{0400}-\x{04FF}]                 
*모든 한글(자소) 찾기1 [\x{3131}-\x{318E}]|[\x{AC00}-\x{D7A3}]
*모든 한글(자소) 찾기2 [\x{1100}-\x{11f9}\x{3131}-\x{318e}\x{ac00}-\x{d7a3}]
* 태국어 [กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛]
* 일본 출판사 이름 끝문자 (會|社|書店|書房|書院|堂|大學|文庫|所|館|出版|閣|局|文庫|舍)
<!--
np++에서 한자/가나 집합 : ([\x{309b}-\x{309c}\x{30a1}-\x{30fe}]|[\x{3041}-\x{309e}]|[\x{4E00}-\x{9FA5}]|[\x{F900}-\x{FA2D}])
-->


==교체==
==교체==
45번째 줄: 87번째 줄:
;HTML 주석 제거
;HTML 주석 제거
*<code><nowiki><!--</nowiki></code>부터 <code><nowiki>--></nowiki></code>까지(줄바꿈 포함)를 빈문자열로 교체
*<code><nowiki><!--</nowiki></code>부터 <code><nowiki>--></nowiki></code>까지(줄바꿈 포함)를 빈문자열로 교체
<source lang='text'>
<syntaxhighlight lang='text'>
<!--(.|\n|\r)*-->
<!--(.|\n|\r)*-->
</source>
</syntaxhighlight>


*줄바꿈 2개를 1개로 교체<ref>이것을 여러번 반복하면 불필요한 공백줄이 모두 제거된다.</ref>
*줄바꿈 2개를 1개로 교체<ref>이것을 여러번 반복하면 불필요한 공백줄이 모두 제거된다.</ref>
<source lang='text'>
<syntaxhighlight lang='text'>
\n\s*\n
\n\s*\n
</source>
</syntaxhighlight>
<source lang='text'>
<syntaxhighlight lang='text'>
\n
\n
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[정규표현식으로 HTML 태그 추출]]
*[[울트라에디트 정규식 사용]]
*[[울트라에디트 정규식 사용]]
*[[정규식 문자 클래스]]
*[[정규식 문자 클래스]]
*[[preg_match]]
*[[preg_match]]
 
*[[정규 표현식]]
*[[전화번호]]
*[[전화번호]]
*[[이메일]]
*[[이메일]]

2023년 6월 22일 (목) 17:22 기준 최신판

regular expression examples
HTML 태그 정규식
정규식 표현 예제

1 기본 예시[ | ]

정규식 예시 설명
[가-힣] 한글 글자 (단, 자모 제외)

2 주요 패턴[ | ]

2.1 전화번호[ | ]

^d{3}\-d{4}\-d{4}$
예: 012-3456-7890, 123-4567-8901
^d{2,3}\-d{3,4}\-d{4}$
예: 02-1234-5678, 031-234-5678, 123-456-7890
^01(?:0|1[6-9])\-(?:d{3}|d{4})\-d{4}$

2.2 이메일 주소[ | ]

^[0-9a-zA-Z_\-]+@[.0-9a-zA-Z_\-]+$
^[0-9a-zA-Z_\-]+@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_\-]+)*$
^[0-9a-zA-Z_\-]+@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+){1,2}$
\\w+@\\w+\\W\\w+

2.3 IP 주소[ | ]

^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
0.0.0.0 ~ 999.999.999.999[1]

2.4 맥 주소[ | ]

^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$

2.5 주민등록번호[ | ]

^\d{6}\-[1-4]\d{6}$

2.6 태그[ | ]

  • <textarea … >부터 </textarea>까지
<textarea\b[^>]*>(.*?)</textarea>

2.7 한자[ | ]

[\x4E00-\x9FA5]|[\xF900-\xFA2D]
[\x{4E00}-\x{9FA5}]|[\x{F900}-\x{FA2D}]

2.8 다국어[ | ]

  • 전각가나 [぀-ゟ゠-ヿ]
  • 히라가나 [\x{3041}-\x{309e}] / [぀-ゟ]
  • 전각 가타카나 [\x{309b}-\x{309c}\x{30a1}-\x{30fe}] / [゠-ヿ]
  • 반각 가나 [\x{ff61}-\x{ff9f}]
  • CJK 표의문자 [\x{3400}-\x{9fff}\x{f900}-\x{fa2d}]
  • 힌디어 [\x{0900}-\x{097F}]
  • 러시아어 [\x{0410}-\x{044F}\x{0500}-\x{052F}\x{0400}-\x{04FF}]
  • 모든 한글(자소) 찾기1 [\x{3131}-\x{318E}]|[\x{AC00}-\x{D7A3}]
  • 모든 한글(자소) 찾기2 [\x{1100}-\x{11f9}\x{3131}-\x{318e}\x{ac00}-\x{d7a3}]
  • 태국어 [กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛]
  • 일본 출판사 이름 끝문자 (會|社|書店|書房|書院|堂|大學|文庫|所|館|出版|閣|局|文庫|舍)

3 교체[ | ]

HTML 주석 제거
  • <!--부터 -->까지(줄바꿈 포함)를 빈문자열로 교체
<!--(.|\n|\r)*-->
  • 줄바꿈 2개를 1개로 교체[2]
\n\s*\n
\n

4 같이 보기[ | ]

5 주석[ | ]

  1. 실제 IP 주소 범위와는 맞지 않음
  2. 이것을 여러번 반복하면 불필요한 공백줄이 모두 제거된다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}