어제 작은 문제가 발생하여 일부 사용자를 일괄적으로 처리해야 하는데, 프런트 데스크에서 보낸 사용자의 형식을 괄호 안(괄호 제외)으로 추출하고 싶었습니다.
선생님 10(0010)
선생님 11(0011)
선생님 9(009)
선생님 12(0012)
선생님 13(0013)
선생님 14(0014)
원래는 Java의 String.split()과 substring()을 사용하려고 했는데 여러번 처리하기가 귀찮아서 정규식을 사용했습니다. 구문을 거의 잊어버렸지만 어설션을 사용하는 것이 더 편리하다고 생각합니다(핵심은 결과에 괄호가 없기를 바라는 것입니다). RegexBuddy를 열고 시도해 보세요. 다음과 같이 쉽습니다.
다음은 Java 구현 코드입니다.
마지막으로 사용된 너비가 0인 어설션은 다음과 같습니다.
폭넓은 주장 | (?=특급) | exp 이전 위치와 일치 |
---|---|---|
(?<=특급) | exp 이후 위치 일치 | |
(?!특급) | exp가 뒤에 오지 않는 위치와 일치합니다. | |
(?<!exp) | exp가 앞에 있지 않은 위치와 일치 |