HtmlAgilityPack은 XPATH 선택기에서 정규 표현식을 사용할 수 있습니까?

c# html-agility-pack regex xpath

문제

텍스트가 단어로 시작하고 숫자로 시작하는 노드 모음을 만들 수 있기를 바랍니다. 예를 들어 다음과 같습니다.

<p>FINDTHIS 1</p>
<p>FINDTHIS SOMETEXT</p>
<p>FINDTHIS 2</p>

FINDTHIS 1과 FINDTHIS 2의 두 단락 노드로 구성된 콜렉션을 생성하고 싶습니다.

가능한 한 접근법은 //p[starts-with(., 'FINDTHIS ')] 와 같은 xpath 쿼리를 생성 한 다음 정규 표현식을 사용하여 다음 문자가 숫자인지 여부를 결정하는 것입니다. 위의 기준을 반환하는 일치 목록을 얻으려는 경우 정규 표현식 개체를 만들고 컬렉션의 각 멤버에 대한 텍스트를 테스트 할 수 있습니다.

HtmlAgilityPack을 사용하여 셀렉터 내에서 직접 정규 표현식을 사용하는 방법이 있습니까?

수락 된 답변

아니요, HTML 민첩성 팩 은 현재이 기능을 지원하지 않습니다. 정규식을 지원하지 않는 XPath 버전 1 쿼리를 지원합니다 .

즉, 정규 표현식을 사용할 지점까지 XPath 식을 사용하여 권장 및 선택을 한 다음 Where 확장 메서드 를 사용하여 RegEx 인스턴스를 기반으로 적절한 노드를 필터링해야합니다.


인기 답변

바로 사용할 수있는 것은 아니지만 쉽게이 기능을 추가 할 수 있습니다. 여기에 설명되어 있습니다 : HtmlAgilityPack : xpath와 regex



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow