HTML 코드에서 문자열을 추출하는 데 문제가 있습니다 (기본적으로 정규 표현식의 문제입니다). 코드는 다음과 같습니다.문자열에서 값 추출
string wheretosearch = @"
<td class=""name"">
<div>
<a href=""/addr1.html"" class=""link "">
<span>Title1</span>
</a></td>
[some code]
<td class=""name"">
<div>
<a href=""/addr2.html"" class=""link "">
<span>Title2</span>
</a></td>";
태그 사이에 제목을 추출하고 싶습니다. 어떤 내 문제 것은 내가 정규식에서 문자의 알 수없는 숫자를 넣을 수 없다는 것입니다 (* TD 클래스 = ""이름 ""다음 섹션을 참조하십시오.) :
<td class=""name"">.*<span>(?<title>.*)</span>
은 단순히 물건을 넣어 : 나는 정규식 <td class=""name"">
다음을 찾으려면 알 수없는 문자 수를 찾은 후 첫 번째로 <span>
을 찾은 다음 첫 번째 문자 인 <span>
과 </span>
사이의 값을 가져옵니다.
실제로는 <span>
의 마지막 항목을 취하고 마지막 제목 만 제공합니다.
편집 :처럼
좋아, HTML 문제 이외의 문제가된다. NICE이 좋은 텍스트는 다음과 같습니다
"이것은 텍스트입니다 : 내가 문자열있어 : 좋았어. "
다음 "알 수없는 문자"를 입력하고 ":"과 "."사이의 문자열을 사용하고 싶습니다. 어떻게 할 수 있니?
물론 나는 복잡한 표현의 각 경우에 관심이 있습니다. 따라서 출력은 컬렉션에서 "좋은"과 "좋은"이 될 것입니다.
"This.*(?<title>.*)."
과 같은 식으로는 @urlreader가 언급 한 것처럼 "NICE TOO"문자열 만 얻습니다. 일치하는 문자열의 최대 길이를 찾습니다.
에헴 ... http://stackoverflow.com/questions/1732348/regex-match-open-tags : 혹시 C#에서 정규식에 필요한
모든 here
편리한 도구입니다 -except-xhtml-self-contained-tags/1732454 # 1732454 – driis
html 구문 분석을 위해 regex를 사용하는 것은 좋지 않습니다. [Html Agility Pack] (http://htmlagilitypack.codeplex.com/)을 사용하십시오. – Steve
+1은 민첩성 팩으로 작동하며 꽤 잘 작동합니다. 거의 모든 쓰레기를 던집니다. – flq