나는 자바와 정규 표현식 클래스, 특히 패턴과 매처를 사용하여 위의와 같이 번역 한 위키 백과 사전 데이터 덤프 다운로드를 사용하려고합니다.정규 표현식에서 시퀀스 대신 임의의 그룹 위치를 지정하는 방법은 무엇입니까?
내 주요 관심사 인 단어 정의 덤프는 html이나 xml 등이 아닌 고유 한 형식 인 원시 wiki-markup에 있습니다. 다양한 요소가 있지만 가장 어려운 템플릿은 템플릿입니다.
필자가 제기 한 것은 위치 필드가있는 특정 템플릿뿐 아니라 임의의 순서로 나타날 수있는 선택적 템플릿입니다. 거의 정규 작업을 수행하는 정규 표현식을 만들었지 만 필드가 바뀌거나 선택적으로 생략 된 모든 인스턴스를 처리하기에 적절하지 않습니다.
이 순서에서 발생 순서가 단순한 시퀀스보다 정교 할 때 정규 표현식 그룹 위치를 지정하는 방법을 알지 못합니다. http://en.wiktionary.org/wiki/Template:term이
지금은 생략 정규식 (에서 내 최고의 자상, 필요한 추가 이스케이프 문자가를 만들기 위해 :
이 복잡한 템플릿 중 하나의 예는 다음 페이지에 설명 "용어"의 것입니다 문자열 자바 호환)는 다음과 같다 :
이 용어 템플릿의 진정한 예 작동\{\{term\|(.+?)(?:\|(.*?))?(?:\|([\w, -]+?))?(?:\|lang=([\w-]+?))?(?:\|sc=(\w+?))?(?:\|tr=([\w, -]+?))?(?:\|pos=(\w+?))?(?:\|lit=([\w, -]+))?\}\}
가 발생 같은 :
{{term|λόγος|logos|word|lang=grc}}
{{term|verbum|verbō|for the word|lang=la}}
{{term|*bʰer-||to carry|lang=ine-pro}}
{{term|alternative lifestyle|lang=en}}
{{term|שוין||already|lang=yi|tr=shoyn}}
{{term|Bögge||goblin, snot|lang=nds}}
{{term|as}}
는하지만 다음과 같은 사항에 대해 제대로 작동하지 : 특정 순서 만 선택적으로 대신에, 어떤 그룹이 위치하며, 일부는 무작위로 나타날 수 있음을 지정하는 방법이있을거야
{{term|deus ex māchinā||device|pos=n|lit=god from a device|lang=la}}
{{term|ри̏ба||fish|tr=rȉba|sc=Cyrl|lang=sh}}
{{term|שוין|lang=yi|tr=shoyn}}
{{term|lang=en|vocational}}
. 예를 들어 많은 HTML 요소를 처리 할 때 공통적 인 문제입니다. 이 위치 정교함을 다루는 정규 표현식을 작성하는 방법에 대한 조언을 많이 주시면 감사하겠습니다. 정말 고마워! - 제프.
에 대해 알려주는거야. 처음에는 모든 형식을 얻습니다. 즉, 두 번째 형식은 모든 형식 b 줄을 얻습니다. 왜 이것을 하나의 정규식으로 많이 매시합니까? – aliteralmind
실용적인 데이터 수집의 필요성뿐만 아니라 내 부분에서 정규식에 대해 더 많이 배우고 싶습니다. 나는 지금 당신이 제안한 것을하고 있습니다. 하지만 제가 묻는 문제는 답을 가지고 있으며 정규 표현식에서 어떻게하는지 배우고 싶습니다. – Djedefrey