정규표현식 모음

ElegantCoder::wiki()

정규표현식(PHP, preg_match()기준입니다)

  • 텍스트에서 img 태그만 잘라내기
/<\s*img[^>]*>/mi
  • 소스코드에서 주석 제거
#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)#
  • Lookaround를 이용해 숫자만 걸러내기
<td><table width='192' border='0' cellspacing='0' cellpadding='0'>

                    <tr height='27'>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>02</td>
                      <td width='5'></td>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>03</td>
                      <td width='5'></td>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>04</td>
                      <td width='5'></td>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>05</td>

                      <td width='5'></td>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>20</td>
                      <td width='5'></td>
                      <td width='27' align='center'background='http://img.kbstar.com/lot/main_num_bg.gif' class='lot_number'>24</td>
                      <td width='5'></td>
                    </tr>
preg_match_all('/(?<=lot_number\'>)\d\d(?=<\/td>)/', $str, $matches);
array (
 0 =>
array (
0 => '02',
1 => '03',
2 => '04',
3 => '05',
4 => '20',
5 => '24',
),


)

  • 네이버 비밀번호 패턴
    • 네이버에서 사용하고 있는 비밀번호 체크 패턴(네이버 도움센터 참조)
    • 전자는 true이면 통과, 후자는 true이면 에러(주민번호, 학번, 전화번호 등 쉽게 알 수 있는 패턴을 막기 위해)
    • 같은 글자가 여러번 패턴은 솔직히 잘 모르겠음.
/[A-Z0-9\\\!"#\$%&\'\(\)\*\+,\-\.\/\:;\<\=\>\?@\[\]\^_`\{\|\}~]{6,16}/i
/[0-9]{6,16}/
개인 도구