는 I은 X-POS = "NN" 및 Y-POS NN이 양수 또는 음수 = "NN" 같은 특성 (다른 사람들)와 XML 스트링을 갖는다. 모든 값을 읽고이를 산술 제품으로 변경하려고합니다. # {NN * 15}, 즉 x-pos = "3"은 x_pos = "45"로 변경됩니다.각 xml 숫자 속성을 ant 또는 ant 확장명을 사용하는 regexp에 의한 문자열의 산술 곱으로 바꿉니 까?
은 따라서 나는 이런 식으로 뭔가가 필요합니다
<ant-contrib:propertyregex property="xval"
input="${xmlfile.contents}"
regexp="x-pos\s*=\s*"([0-9\-]+)""
replace="x-pos="_TRICKY_EXPR_EVALUATOR_{\1 * 15}""
override="true" global="yes"/>
을 아니면 어떻게 든 모든 /의 X-POS의 \ S * = \는 \ *이야 캡처 할 수 있습니다 "([0-9 -] +) \"/matches (PHP preg_match_all 함수와 동일) flaka 목록이나 '-'로 구분 된 문자열에서 가져옵니다. 일단 내가 그것을 분할 할 수 있으며 그것을 통해 반복하여 각 값을 '수동으로'대체 할 수 있습니다.
perl과 같은 정규 표현식에서 작동하는 다른 개미 확장 프로그램이 있습니까? 나는 flaka와 ant-contrib을 알았지 만 도움이되지 못합니다.
의견을 보내 주셔서 감사합니다. 갱신
:
<sprite name="timer" xref="" pos-x="25" pos-y="4" path="img/folder1/img1.jpg" />
<sprite name="timer1" xref="" pos-x="25" pos-y="4" offset-x="100" offset-y="10" path="img/folder1/img2.jpg" />
<control name="timer2" xref="" pos-x="25" pos-y="4" size="100" offset-y="10" path="img/folder1/img2.jpg" />
당신이 정규 표현식을 사용하지 말아야 XML을 구문 분석 : 여기에 코드입니다. xmltask (http://www.oopsconsultancy.com/software/xmltask/index.html)를 사용하고 xpath를 통해 모든 x-pos 노드 목록을 가져옵니다. 이후에 해당 목록을 반복하기가 쉽습니다. 답을 수정하고 xmlstructure를 보여 주면 해결책을 게시 할 것입니다. – Rebse
@Rebse, 요점은 XML 구조가 중요하지 않다는 것입니다. 그것은 하나의 태스크가 아니라 XML 클래스를위한 태스크 클래스입니다. propertyregex를 사용하여 구조 고유의 솔루션을 알고 있습니다. 문자열로 문자열을 분석하고 속성으로 속성을 분석합니다. 그러나 보편적 인 것은 아니며, flaka list (s)를 만들 수있는 확장이 있다면 훨씬 더 쉽습니다. 어쨌든, 당신의 구체적인 해결책을보고 싶습니다. 그래서 나는 내 질문을 업데이트 할 것이다. – Tertium
마침내 내가 몇 가지 예를 게시 할 시간이있어, 내 대답을 참조하십시오 - HTH – Rebse