Java RegEx를 사용하여 HTML 페이지에서 데이터를 구문 분석하려고하지만 많은 행운이 없습니다. 데이터는 동적이며 종종 공백, 탭, 줄 바꿈 등의 인스턴스가 0 개에서 여러 개까지 포함됩니다. 또한, 안타 수에 따라 구문 분석하는 문자열의 구조가 변경 될 수 있습니다.Regex Lookahead & Lookbehind with Java
<div class="center">Showing 25 of 2,343,098 (search took 1.245 seconds)</div>
그것은 또한 다음과 같이 할 수 그러나 : 여기에 깨끗한 형식의 샘플입니다
<div class="center">Showing 2343098 (search took 1.245 seconds)</div>
또는
<div class="center">
Showing 125
of 2,343,098
(search took 1.245 seconds)</div>
내가 구문 분석하려고 해요 것은이 2,343,098하지만, 페이지가 HTML이기 때문에 "표시 중"또는 "검색 중"을 검색해야합니다. 공백, 탭 및 새 줄이 나를 트립하고 lookbhead를 사용하려고했습니다. & lookbehind하지만 o 멀리 운. 다음은 내가 시도한 몇 가지 패턴입니다.
String pattern1 = "Showing [0-9]*\\S"; // not useful
String pattern2 = "[[\\d,+\\.?\\d+]*[\\s*\\n]\\(search took"; //fails
String pattern3 = "(/i)(Showing)(.+?)(\\(search took)"; //fails
String pattern4 = "([\\s\\S]*)\\(search took"; //fails
String pattern5 = "(?s)[\\d].*?(?=\\(search took)"; //close...but fails
Pattern pattern = Pattern.compile(pattern5);
Matcher matcher = pattern.matcher(text); // text = the string I'm parsing
while(matcher.find()) {
System.out.println(matcher.group(0));
}
"나는 노력하고 있어요 Java RegEx "를 사용하여 HTML 페이지에서 데이터를 구문 분석하지 않습니다. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags. '[..]'과'(..)'의 차이를 아십니까? – Pshemo
* html 파서를 사용해야하는 이유가 그리 많지 않습니다. – A4L
와우, 정직하게 정규식을 사용하여 html 구문 분석에 대해 어떻게 생각하세요? 내가 다시 문구하자. "내가 필요로하는 큰 긴 끈을 가지고있다."그리고 그것은 열리고 닫는 carots의 묶음을 포함한다! – Pigasus