로그가 많으며 모든 레코드에 URL이 있습니다. 그리고 로그를 필터링하기 위해 약 2000 개 이상의 URL 패턴이 있습니다. 일부 패턴은 캡처 할 수있는 그룹이있는 정규 패턴입니다. 나는 url과 일치하는 패턴을 얻고, 가능한 경우 캡처 된 그룹을 얻고 싶다. 거기에 자바 lib이 나를 도울 수있다. 또는 내 문제를 해결할 수있는 알고리즘. 또는 내 문제와 관련된 기타. 고마워.다중 패턴 매치 알고리즘
1
A
답변
0
Java 정규 표현식 라이브러리 (link)를 살펴보십시오.
원본 패턴을 |
으로 연결하여 단일 큰 패턴을 구성 할 수 있습니다 (문자 1 자만을 사용하지 않으려면 ()
을 사용하십시오).
정규식은 효율적으로 일치하는 유한 오토마타로 컴파일되어 데이터를 다룰 수 있습니다. 한 번 컴파일 한 다음 모든 레코드에 대해 다시 사용하십시오.
그룹을 추출하는 작업을 처리하지만 그룹을 일치시킬 수 있으므로 일반적인 방식으로 그룹을 처리해야합니다. 이름이 지정된 그룹을 사용하면 처리가 더 간단 해집니다.
관련 문제
- 1. PHP 정규식 매치 패턴
- 2. 패턴 매치 그룹화
- 3. 불쾌한 패턴 매치 버그 버그
- 4. 루아에있는 파일의 패턴 매치 데이터
- 5. 가변 패턴 매치 찾기 sed by line
- 6. bash에서 매치 패턴 이전에 공간을 추가하는 방법
- 7. OCaml의 패턴 매치 기록을 내가 갖고 싶어
- 8. http 응답에 대한 패턴 매치 도움말
- 9. 와일드 카드 후 선택적 매치 패턴
- 10. 패턴 일치 SQL 알고리즘
- 11. 선형 패턴 일치를위한 알고리즘?
- 12. 패턴 인식에 적합한 알고리즘
- 13. KMP 패턴 찾기 알고리즘
- 14. 어도비 패턴 검색 알고리즘
- 15. 패턴 인식 알고리즘
- 16. 텍스트를 읽기위한 알고리즘 또는 패턴
- 17. 2 패턴 문자열 매칭 알고리즘
- 18. 특별 스케줄링 알고리즘 (패턴 확장)
- 19. 효과적인 다중 검색 알고리즘
- 20. 다중 기준 검색 알고리즘
- 21. ElasticSearch, 필터와 멀티 매치?
- 22. Makefile의 다중 패턴
- 23. DAO 패턴 다중 테이블
- 24. 디자인 패턴, 다중 상속
- 25. 다중 테이블이있는 저장소 패턴
- 26. 디자인 패턴 - 다중 옵저버
- 27. Bash : 다중 패턴 일치
- 28. 다중 스레드 작업자 패턴
- 29. 다중 콜백 디자인 패턴?
- 30. 다중 스레드 비동기 패턴
정확하게 일치하는 패턴이나 관련 정보를 얻고 싶습니다. 내가 자바 정규 표현식 라이브러리와 함께 이것을 지원하는 방법을 찾지 못했습니다. – icn19
명명 된 그룹을 사용하거나 패턴에 생성 된 이름 (예 : 'pattern_0', 'pattern_1'...)을 지정하십시오. '(? X)'와 같이 정의하여 X를 이름'name'과 일치시킵니다. 그런 다음 결과를 다시 얻으면'Mathcher.group ("name")'이됩니다. 할당 한 이름을 반복하여 모두 요청해야합니다. 함수와 일치하지 않는 그룹의 경우 해시 검색을 수행하고 null을 반환합니다 (빠름). 이것은 입력 문자열을 다시 트래버스 할 필요가 없으므로 각 패턴에 대해 별도의 정규식을 갖는 것보다 훨씬 빠릅니다. –
Sorin