다른 특수한 기호들과 조합해서 사용하는 방법
* :
0부터 여러개를 포괄한다.
case 1 :
별표 앞에 .이 붙어있기 때문에
모든 텍스트를 선택한다.
. : 모든 공백, 문자, 숫자
case 2 :
-A*- :
- 앞에 A가 없을 수 도 있고, 1개 일수도 있고, 여러개 일수도 있다
그리고 그 앞에는 꼭 - 가 있어야 한다.
옇튼 정규표현식을 사용해서 All matches에 동그라미 친 부분이 나오는 이유는
-가 분명히 있고
앞쪽에도 -가 있으면서
A라는 부분은
*에 의해서 없어도 되기 때문에
All matches 의 --가 선택이 된것이다.
그 뒤의 부분도 마찬가지인 이유로 선택이 된것이다.
case 3
대괄호가 등장했다.
대괄호는 선택자 패턴의 후보군을 지정하는 것이다.
그리고 그 안에 -@라고 하게되면
소스에 있는 문자중에 - 혹은 @, 이 둘중에 하나만 있다면
그것은 선택이 되는것이고 [-@]가 한 글자에 대한 패턴이라고 한다면
그 뒤에 *가 붙어서 [-@]가 없거나, 1개일경우 혹은 여러개일 경우도 있다라는 뜻이다.
그런데 어차피 없는 경우에는 아무것도 선택할 것이 없기 때문에
어떤것도 선택이 되지 않는다.
그래서 다시 한번 살펴보면
case 3 :
First matches의
-@-***--"*"--***-@- 중에서
-@- 이부분을 보자면
-는 [-@]* 이것이고
@는 [-@]*이것이고
다시 -는 [-@]*이것이다.
그런데 이상하게도
All matches에서
-@-***--"*"--***-@- 의 부분 처럼 하기 위해서 글로벌 옵션을 적용했음에도 불구하고
이렇게 선택이 되지 않는다.
왜인지는 모르겠지만 이렇게 선택하고 싶다면
밑에 댓글을 달아주신 지그프리드님의 댓글처럼
-[-@]*라고 해줘야한다. 왜일까요..?