(http|https|ftp|telnet):\/\/[^\" ' \s()]+
이게 도대체 뭐하는 문자인가요?
리눅스 환경을 처음 접할 때 알 수 없는 특수문자들과
암호 같은 문장들이 보였습니다.^^;;
바로 정규표현식인데요.
이걸 모르면 자유롭게 리눅스 가지고 놀수 없더라고요.
일하면서 자주 접하다 보니 그냥 그냥 알게 되거나
그때그때 잠깐씩 찾아보면서 익힌 거 같네요.
하루라도 빨리 알게 되면 리눅스 활용이 엄청 많아질 거예요.
하지만 사용법이나 공식처럼 외워야 되는 것도 있어
주로 사용하는 몇 개만 알고 나머지는 빨리 잊어버리게 되더라고요.^^;;
이번 포스팅하면서 그동안 알고 있던 거와 잊고 있었던 내용을 함께 정리하게 되어 무척 재밋게
하고 있는 거 같습니다.
정규표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용되는 형식언어라고 정의합니다.
쉘 , perl , c , c++ , java , python.. 등의
대부분이 언어에 라이브러리에 내장되어 있어
거의 사용되지 않는 곳이 없을 정도입니다.
제 생각은 간단하게 문자열을 찾기 위한 필터링하는 기술이라 생각합니다.
어떤 사람은 두세 줄이 원하는 문자열을 찾고
어떤 사람은 정규표현식으로 특수문자 몇 개 써서 한 줄에 찾아냅니다.
내공이 깊은 능력자들은 정규표현식에 능숙하죠.ㅋ
메타문자 | 설명 |
* | * 앞에 문자가 0번 이상 모든 문자가 있을수 있음. abc*d => abcd , abd , abcccccccd |
+ | + 앞에 문자가 1번 이상 모든 문자가 있을수 있음. abc*d => abcd , abcccccd , abd 는 안됩니다. |
^ | 문자열의 처음 , 시작 부분 , ^ab => abcdad , ab cmart 등 라인 시작 글자가 ab로 됨. |
$ | 문자열의 끝, 마지막 부분 , ab$ => ..hello ab , ..adagaab 등 라인 마지막 글자가 ab로 끝남. |
? | ? 앞에 문자가 0 번 또는 1번만 있을수 있음. lovv?e => love , lovve |
. | 문자 한개 , ab.d => abcd , abkd , abGd 등 한개 문자 아무거나 됨. |
[ ] | 대괄호안에 문자중에서 한개만 선택. B[abc]K -> Bak or Bbk or Bck 중에 한개. 대괄호안에 - 가 있으면 범위를 의미 , a[0-3] -> a0 or a1 or a2 or a3 중에 한개. a-z A-Z 이런식으로 사용. 대괄호안에 ^는 NOT 의미임. a[^0-2] -> a0 도 아니고 a1 도 아니고 a2도 아닌 모든것. a3,a4 ... |
( ) | 소괄호안을 그룹으로 지정. 틸드와 함께 사용해서 모두 포함됨. god|gkd 와 g(o|k)d는 같은 의미임. |
| | 틸드는 조건문에서 or와 같은 기능으로 여러개중 한개, aa|bb => aa 또는 bb 둘다 포함됨. |
{ } | 문자 반복 시킨거와 일치 {n} : n 번 반복한거와 일치 {n,} : n 번 이상 반복한거와 일치 {n,,m} : n 번 이상 m 번 미만 반복한거와 일치 |
| | 여러개중 한개 선택. abc|edb -> abc 또는 edb와 일치. |
간단하게 의미만 기록했습니다.
다음에는 정규표현식 예제를 통해서 여러 가지 활용할 수 있도록 포스팅하겠습니다.
감사합니다.
반응형
'IT > IT 지식' 카테고리의 다른 글
IT 정보보호 인식수준 (0) | 2020.09.26 |
---|---|
쿠팡파트너스 가입하기 (0) | 2020.09.21 |
컴퓨터 수은전지 교체 (0) | 2020.09.14 |
유무선 공유기 2대 연결 와이파이 증폭기 만들기 (0) | 2020.09.13 |
파워 서플라이 보는법 (전원공급장치) (0) | 2020.09.11 |
댓글