마지막 두 자리를 제외하고 10자리 숫자만 마스킹하려는 문자열이 있습니다. Java에서 정규식 값을 찾고 있습니다.
모든 의도와 목적을 위해 문자열은 "Godel1234567890Escher753951852456Bach7894561230"이고 "GodelXXXXXXXX90Escher753951852456BachXXXXXXXX30"을 가져와야 합니다.
지금까지 내 정규식 값은 str.replaceAll("(?<!\\d)\\d{10}(?!\\d)", XXXXXXXX)
10자리만 얻을 수 있지만 마지막 2자리를 제외할 방법을 찾지 못하는 것 같습니다.
10자리 숫자를 일치시키는 대신 8자리와 2자리를 일치시키고 2자리를 캡처 하고 캡처된 숫자를 대체 값에 삽입합니다.
str.replaceAll("(?<!\\d)\\d{8}(\\d{2})(?!\\d)", "XXXXXXXX$1")
데모는 regex101.com 을 참조하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다