반응형
RegEx를 사용하여 두 XML 태그 사이의 모든 항목 찾기
에서 RegEx
, 나는 둘 사이의 태그와 모든 것을 찾으려면 XML tags
다음 등을 :
<primaryAddress>
<addressLine>280 Flinders Mall</addressLine>
<geoCodeGranularity>PROPERTY</geoCodeGranularity>
<latitude>-19.261365</latitude>
<longitude>146.815585</longitude>
<postcode>4810</postcode>
<state>QLD</state>
<suburb>Townsville</suburb>
<type>PHYSICAL</type>
</primaryAddress>
태그와 사이의 모든 것을 찾아 primaryAddress
지우고 싶습니다 .
primaryAddress
태그 사이의 모든 것은 변수이지만 .NET Framework를 가져올 때마다 전체 태그와 하위 태그를 제거하고 싶습니다 primaryAddress
.
누구든지 그 방법을 알고 있습니까?
HTML / XML 구문 분석에 정규식을 사용하는 것은 좋지 않습니다.
그러나 어쨌든 그것을하고 싶다면 정규식 패턴을 검색하십시오.
<primaryAddress>[\s\S]*?<\/primaryAddress>
빈 문자열로 바꾸십시오 ...
다음과 일치시킬 수 있어야합니다. /<primaryAddress>(.+?)<\/primaryAddress>/
태그 사이의 콘텐츠는 일치하는 그룹에 있습니다.
이 방법을 사용하는 것은 좋지 않지만 정말 정규식으로 나누고 싶다면
<primaryAddress.*>((.|\n)*?)<\/primaryAddress>
확인 된 답변은 태그를 반환하지만 태그 사이의 값만 반환합니다.
이것은 측면에 속성이 있거나 끝 태그가없는 경우에도 대부분의 가장 바깥 쪽 레이어 태그 쌍을 캡처 할 수 있습니다.
(<!--((?!-->).)*-->|<\w*((?!\/<).)*\/>|<(?<tag>\w+)[^>]*>(?>[^<]|(?R))*<\/\k<tag>\s*>)
편집 : 위의 주석에서 언급했듯이 정규식은 항상 xml을 구문 분석하기에 충분하지 않으며 더 많은 상황에 맞게 정규식을 수정하려고하면 더 길지만 여전히 쓸모가 없습니다.
참조 URL : https://stackoverflow.com/questions/13241615/find-everything-between-two-xml-tags-with-regex
반응형
'programing' 카테고리의 다른 글
결과가없는 경우에도 값 반환 (0) | 2021.01.17 |
---|---|
프로그래밍 방식으로 UIView의 자동 크기 조정 마스크를 설정 하시겠습니까? (0) | 2021.01.17 |
데이터 유효성을 확인하는 것은 누구의 책임입니까? (0) | 2021.01.17 |
Outlook 메일에서 가져 오지 않은 이미지 스타일 높이 및 너비 (0) | 2021.01.17 |
Java의 try-with-resources가 오류 또는 예외를 포착합니까? (0) | 2021.01.17 |