Oimb
688
2019-02-08 23:12:41
4
927

자바 replaceAll 는 정규식에서 * 을 사용 할 수 없나요?




System.out.println("asdasd".replaceAll(".","*"));
System.out.println("asdasd".replaceAll(".*","*"));


위와같은 코드를 실행시키면 결과는

******

**

가  나옵니다.   (   .*    )  이 괄호안의 정규식은 분면 문자가 0개이상인것을 전부 찾는것인데 왜 앞에 2자리만 저렇게 나오나요??

0
  • 답변 4

  • fx
    1k
    2019-02-08 23:52:17

    찾은 문자열을  두번째 인자로 치환 했기 때문입니다.


  • Oimb
    688
    2019-02-09 10:16:24

    그럼 *  하나만 나와야되지 않나요? 이해가 되질않네요...

  • satis
    2019-02-09 10:29:30 작성 2019-02-09 10:29:55 수정됨

    a시작 앞에 빈문자가 포함되어요.


    해결.

    "^.*"

    System.out.println("asdasd".replaceAll("^.*","*"));


  • Oimb
    688
    2019-02-09 10:32:40

    오우..... 고마워요

  • 로그인을 하시면 답변을 등록할 수 있습니다.