본문 바로가기

RegEXR/Common

정규표현식 * + ?

정규표현식의 패턴들 11~14) 수량자(Quntifiers)

* + ? 어거지 암기법

  • 0을 곱하면 0 그러므로 0개이상
  • 1을 더하면 무조건 1이상 그러므로 1개이상
  • 모른다는 표시는 있을수도 없을수도 있다는것 그러므로 0아니면 1

pattern : *

  • *앞에 등장하는 문자 => 0~여러개
  • 0개 라는건 *문자가 없어도 해당한다는 것
  • *앞에 문자를 제거하고 매칭되는지 보고 그다음에 문자 있는 경우 생각해보는게 더 쉬운듯

source : aabc abc bc

a*b

  • b가 있고 b앞에 a가 없을수도 있고 여러개 있을수도 있음
  • first match : aabc abc bc
  • all matched : aabc abc bc

pattern : +

  • *앞에 등장하는 문자 => 1개~여러개(양수여야함)
  • 없으면 해당안함

a+b

  • b가 있고 b앞에 a가 여러개 등장
  • first match : aabc abc bc
  • all matched : aabc abc bc

pattern : ?

  • ?앞에 등장하는 문자 => 없거나 1개
  • ?앞에 문자를 제거하고 매칭되는지 보고 그다음에 문자 있는 경우 생각해보는게 더 쉬운듯

a?b

  • first match : aabc abc bc
  • all matched : aabc abc bc

source : -@-***--"*"--***-@-

  • *와 다른 문자 결합

.*

  • 텍스트가 0~여러개 === 모든 텍스트
  • first match : <U>-@-***--"*"--***-@-</U>
  • all matched : <U>-@-***--"*"--***-@-</U>

-A*-

  • -앞에 A가 0~여러개 그 앞에 -
  • first match : -@-***<U>--</U>"*"--***-@-
  • all matched : -@-***<U>--</U>"*"<U>--</U>***-@-

[-@]*

  • -혹은 @가 후보군이고 0~여러개
  • first match : <U>-@-</U>***--"*"--***-@-
  • all matched : <U>-@-</U>***<U>--</U>"*"<U>--</U>***<U>-@-</U>

source : -@@@-***--"*"--***-@@@-

  • +와 다른 문자 결합

\*+

  • *가 한개이상
  • first match : -@@@-<U>***</U>--"*"--***-@@@-
  • all matched : -@@@-<U>***</U>--"<U>*"</U>--<U>***</U>-@@@-

-@+-

  • -와 -사이에 @가 한개이상
  • first match : <U>-@@@-</U>***--"*"--***-@@@-
  • all matched : <U>-@@@-</U>***--"*"--***<U>-@@@-</U>

[^ ]+

  • 공백이 아닌것이 한개 이상 = 공백이 없는것만 선택
  • first match : 쓰기 귀찮아서 패스
  • all matched : 쓰기 귀찮아서 패스

source : --XX-@-XX-@@-XX-@@@-XX-@@@@-XX-@@-@@-

  • ?와 다른 문자 결합

-X?XXX?X

  • - 그뒤에 X가 없거나 1개 그뒤에 XX 그뒤에 X가 없거나 한개 그 뒤에 X
  • first match : -<U>-XX</U>-@-XX-@@-XX-@@@-XX-@@@@-XX-@@-@@-
  • all matched : -<U>-XX</U>-@<U>-XX</U>-@@<U>-XX</U>-@@@<U>-XX</U>-@@@@<U>-XX</U>-@@-@@-

-@?@?@?-

  • -뒤에 @가 있거나 없고 3번 반복 후 -

  • first match : <U>--</U>XX-@-XX-@@-XX-@@@-XX-@@@@-XX-@@-@@-

  • all matched : <U>--</U>XX<U>-@-</U>XX<U>-@@-</U>XX<U>-@@@-</U>XX-@@@@-XX<U>-@@-</U>@@-

  • first match :

  • all matched :

  • first match :

  • all matched :