반응형
정규 표현식 패턴
'패턴' 혹은 /패턴/ 의 형태로 작성
/로 패턴을 감싸는 경우, / 뒤에 플래그를 작성할 수 있음
패턴 | 설명 | 예시 |
문자 혹은 문자열 | 해당 문자 혹은 문자열과 매치 | abc -> Hello abc /ab/ -> Hello abc |
. | 모든 문자와 매치 | a.c -> Hello abc |
| | 앞 또는 뒤 패턴과 매치 | hi|ab -> Hello abc |
[] | [] 안의 문자와 매치 | [ae] -> Hello abc |
[^] | ^ 뒤의 패턴을 제외한 나머지와 매치 | [^a] -> abc |
^ | 어떤 문자열의 시작이 특정 패턴인 경우 매치 | ^a -> Hello abc ^a -> abc Hello |
$ | 어떤 문자열의 끝이 특정 패턴인 경우 매치 | c$ -> Hello abc c$ -> abc Hello |
\ | \ 뒤의 특수 문자와 매치 특수문자를 문자 그대로 쓰기 위한 이스케이핑 |
c\$ -> Hello abc$ |
[a-z] [A-Z] [0-9] |
두 문자 사이 범위의 문자와 매치 | [b-d] -> hack |
\w | 알파벳 또는 숫자 또는 _와 매치 [A-Za-z0-9_] |
\w -> a! |
\d | 숫자와 매치 [0-9] |
\d -> a1 |
\s | 공백문자와 매치 [\b\f\n\r\t\v] |
패턴 | 설명 |
* | 앞에 나온 문자가 0개 이상이면 매치 |
+ | 앞에 나온 문자가 1개 이상이면 매치 |
? | 앞에 나온 문자가 0개 혹은 1개이면 매치 |
수량자? | 수량자 뒤에 ?를 붙이면 게으른 수량자로, 최소한의 문자만 매치 *기본적으로 정규표현식의 수량자는 탐욕적 수량자에 속함 |
{n} | 앞에 나온 문자가 정확히 n개이면 매치 |
{n,} | 앞에 나온 문자가 n개 이상이면 매치 |
{n1, n2} | 앞에 나온 문자가 n1개 이상, n2개 이하이면 매치 |
패턴 | 설명 | 예시 |
() | ()로 감싼 부분을 그룹화하여 하나의 문자로 여김 | (abc)+de -> abcabcabcde |
정규 표현식 플래그
검색의 옵션을 지정하는 역할
/패턴/플래그 형식으로 작성
플래그 | 설명 | 예시 |
g | global search 매치하는 모든 문자/문자열 검색 |
/[aeiou]/ -> Hello abc /[aeiou]/g -> Hello abc |
i | ignore case 대소문자 구분하지 않고 검색 |
/h/g -> Hello hehe /h/gi -> Hello hehe |
m | multiline 여러 줄에서 검색 |
|
s | single line(dotall) 메타문자 .가 개행문자도 포함 |
/Hello.+abc/g -> Hello daa Hello abc /Hello.+abc/s -> Hello daa Hello abc |
반응형
'security > web' 카테고리의 다른 글
htmlentities (0) | 2023.10.28 |
---|---|
MySQL DB 명령어 (0) | 2023.10.17 |
file url schema (0) | 2023.08.20 |
127.0.0.1 / localhost 우회 (0) | 2023.08.20 |
CouchDBMS (0) | 2023.08.19 |