정규 표현식을 사용하여 ASPX 파일에서 특성 값을 찾아야합니다.ASPX 특성 정규식 구문 분석 C#
즉, 형식이 잘못된 HTML이나 HTML 관련 문제에 대해 걱정할 필요가 없습니다.
특정 속성 (LocText)의 값을 찾아야합니다. 따옴표 안에 무엇을 넣고 싶습니다. 값 내에 < % =, < %, < % $ 등의 ASPX 태그는이 속성에 적합하지 않으므로이 속성의 일부로 간주됩니다.
내가 이런 모습으로 시작 정규식 :
LocText="([^"]+)"
이 좋은 작품, 결과 텍스트 첫 번째 그룹은, (& quot가 허용되지 않습니다 따옴표를 제외하고 모든 것을 얻는다; 대신 사용해야합니다.
그러나 ASPX 파일은 작은 따옴표를 사용할 수 있습니다. 두 번째 정규식을 적용해야합니다.
LocText='([^']+)'
나는이 두 정규식을 사용할 수 있지만 연결 방법을 찾고 있습니다.
LocText=("([^"]+)"|'([^']+)')
이것은 또한 작동하지만 매우 불필요한 그룹 수를 생성하므로 효율적이지 않습니다. 나는 이것이 backreferences를 사용하여 어떻게 든 할 수 있다고 생각하지만, 그것을 작동시킬 수는 없다.
LocText=(["']{1})([^\1]+)\1
나는 이것에 의해, 내가 첫 번째 그룹에 단일/큰 따옴표를 저장하는 것이 생각하고 나는 그것이 첫 번째 그룹에있는 문자가 아닌 것은 읽을 말한다. 이것은 첫 번째 그룹의 인용구로 다시 둘러 쌉니다. 분명히, 나는 틀렸고 그런 식으로 작동하지 않습니다.
첫 번째 두 표현식을 함께 연결하는 방법이 있습니까? 하나의 그룹이 원하는 속성의 값인 최소량의 그룹을 만드는 방법이 있습니까? 단일/이중 인용 값에 대한 역 참조를 사용하는 것이 가능합니까? 아니면 완전히 그 의미를 잘못 이해 했습니까?
작업하고 아름다운 솔루션, 감사합니다 만 :) – Mirek