나는이 포럼을 통해 검색 한하지만 내가 필요 정확히 않습니다 아무것도 찾을 수 없습니다를 발생.정규식 -에만 고유 한 문자열과 일치
이메일에 대한 데이터 손실 방지를하고 있지만 사람들이 여러 번 전자 메일에 회신 할 때 신용 카드 번호 나 계정 번호가 여러 번 나타나는 경우가 있습니다.
Java Regex에서 각 문자열을 한 번만 일치 시키려면 어떻게해야합니까?
예를 들어 다음 정규식을 사용하여 2 자와 일치하는 계정 번호를 찾은 다음 5 또는 6 숫자를 찾습니다. 두 경우 모두 CR을 생략합니다.
\b(?!CR)(?!cr)[A-Za-z]{2}[0-9]{5,6}\b
우리는 어떻게 그것을 찾을 수 있습니다 :
CX12345
CX14584
JB145888
JD748452
CX12345 (Ignore as its already found it above)
LM45855
많은 감사를 사전에!
마지막으로 일치하는 것이 좋습니다 : ['(? s) \ b ((! CR | cr) [A-Za-z] {2} \ d {5,6}) \ b (?!. * \ b \ 1 \ b)'] (https://regex101.com/r/ink9TO/1). Java에서는 이중 백 슬래시를 사용하는 것을 잊지 마십시오. –
안녕하세요. 도움을 제공해 주셔서 감사합니다. 나는이 문자열을 Regex 테스터에 추가하려고 시도했지만 그 시작은 (? s)를 처음부터 좋아하지 않는다는 것을 되 돌리는가? 또한, 그것에서 (? s)을 제거하려고 할 때, 그것은 여전히 이전에했던 일을합니다. 같은 문자열의 여러 일치. 어떤 아이디어라도 제발? 도구를 사용하여 테스트하려면 www입니다.regextester.com 자바 스크립트를 사용하여. 감사합니다 – Chosenv3
왜 "정규식 검사기"? Java 코드에서 사용하십시오. 나는 이미 온라인 테스터에서 테스트를 내 의견에 제공했습니다. 자바에서는'String pattern = "(? s) \\ b ((?! CR | cr) [A-Za-z] {2} \\ d {5,6}) \\ b (? * \\ b \\ 1 \\ b) ";". [** Java 데모 **] (http://ideone.com/7IihtV). –