정규표현식(regex) - 마침표(.)
정규표현식(regex)
마침표(.)
ㆍ 정규표현식 연습 첫번째 글로 마침표(.)를
사용해보겠습니다.
ㆍ 마침표는 정규표현식에서 모든문자하나를
의미하게 됩니다
바로 정규표현식을
사용하기 위해서
처음글에서 소개했던
사이트에 들어가서
Text를 대충 써본후에
Expression에
마침표를 넣어보겠습니다.
.(마침표)
이런식으로 /(표현식)/g
/./g
즉 마침표를 하나 넣어보니
모든 Text와 match되는것을
확인 할 수 있습니다
마침표가 모든문자 하나이므로
전부해당 된다는 뜻입니다
이번에는
똑같은 Text에서
. (마침표 + 스페이스)
이렇게 변경해보겠습니다
결과는 no match
일치하는 Text가 없습니다
아래 텍스트에서
글자하나+공백이 없어서
위와 같은 결과가 나타납니다
혹시 모르니 위와 일치하도록
text를 아래 생성한후에 확인해
보도록 하겠습니다
Text 입력후 마지막에 스페이스를
한칸씩 넣어주니
일치된 것을 확인 할 수 있습니다
a.(텍스트+마침표)
이번에는 a로 시작하는 문자열을
찾아보도록 하겠습니다
위에서 Expression만
a.로 변경해서 결과를
확인해보도록 하겠습니다
자
원하는 결과는
a로 시작하는 문자열이었는데
band, david등 a로 시작하지
않는 문자열들도 match가 됩니다
이를 해결하기 위해서는
위의 표현식에서
하나를 더 추가해주면
해결됩니다
\ba.
해결방법은 역슬래쉬 b입니다
\b
역슬래쉬에 대해서는 나중에
쓰게 될 주제인데
정규표현식에는
메타문자라는것이 있습니다
\b \f \n등
좀 더 구체적으로 문자열을
match 시키기 위한 방법?입니다
여기서 \b(역슬래쉬 b)는
위치를 찾아주는 역할을
합니다
b가 boundaries라는 의미로
경계를 친다는 의미입니다
위의 표현식은
(경계선)a(아무문자)
이런식으로 해석할수 있습니다
뭐 역시 글을 못쓰다보니..
결과를 보면서 이해해보면
이런식으로
위와 다르게
a로 시작하는 문자열들만
match된 것을 확인할 수 있습니다
이번에는 텍스트를 조금만 바꿔서
여기서 만약에
a로 시작하는데
2글자인 문자열만
찾고 싶다면 어떻게
하면 될까요?
위의 b(boundaries)의
의미를 조금 생각해보면
아래와 같이 하면 되겠죠?
\ba.\b
자 이번에는
마침표를 여러개?
써보겠습니다
굳이 마침표를 하나만
쓰라는 법은 없으니까요
마침표 여러개도 똑같습니다
a..
이렇게 표현식에 넣게 되면
a + 모든문자열 2개
이런 의미가 되겠죠?
아~
꼭 마침표를 뒤에만
쓸 필요는 없습니다
원하는 곳에 넣어주셔도
됩니다
.a.b.
이런식으로 써보면?
아래와 같이 match되겠죠?
자 여기까지 간단하게
정규표현식에서
마침표(.) 사용하는 법을
알아보았습니다.
사실 위에서 쓴 표현식들은
기본적인 것들이고..
다른 메타문자들과 혼합해서
사용한다면 훨씬 더 유용하게
사용할 수 있을겁니다.
다음글에서는 음
뭘 사용해보게 될지는 모르겠으나
[a-z] [0-9] 이런것들좀 써보고
+ 지금 사용해본 마침표와도
혼합해서 써보도록 하겠습니다
도움사이트 : http://regexr.com/
* 해당글에서 문제가 되는 부분이 있다면 즉시 삭제하겠습니다
'기타 > Regular Expression' 카테고리의 다른 글
정규표현식 연습하기(마침표, \n, [a-z 등]) (0) | 2016.09.03 |
---|---|
정규표현식(regex) - [0-9 a-z] 등등 (0) | 2016.08.29 |
정규표현식(Regular Expression) 사용하기 전에.. (0) | 2016.08.28 |