JAR 이름과 버전을 추출하기위한 정규 표현식이 필요합니다. 입력 값은 아래의 형태이다 :경로 디렉토리에 대한 정규 표현식
C:\WORK\Modify file\test2\lib\messageclass-12.jar
C:\WORK\Modify file\test2\lib\utilities-396.jar
C:\WORK\Modify file\test2679\lib\castor-1.jar
출력 같아야
messageclass
12
utilities
396
castor
1
어떤 도움을 받고있다. 가 업데이트 나는이 속성 값에서 추출하는 개미 스크립트에서이를 사용하고
: 노호 MessageClass가 12 :
<propertyregex override="yes" property="propA" input="@{file}" regexp="here should be the regex" replace="" global="true" />
및 @ {파일} 가리키고는 C : \ WORK \ 수정 파일 \ TEST2 \ lib 디렉토리 \ MessageClass가-12.jar
샘플 예에서 찾을 수 있습니다 : http://ant-contrib.sourceforge.net/tasks/tasks/for.html이
제안에 따라최종 솔루션입니다 :
이름을했을/.*\\(.*)-(\d+)\.jar/
캡처 1, 2 버전 번호를 캡처 :
<!-- calculate jar name -->
<propertyregex override="yes" property="jarname" input="@{file}" regexp="-(\d*)\.jar" replace="" global="true"/>
<propertyregex override="yes" property="jarname" input="${jarname}" regexp=".*\\(\S*)\\" replace="" global="true"/>
<!-- calculate jar version -->
<propertyregex override="yes" property="jarversion" input="@{file}" regexp=".*\\(\S*)-" replace="" global="true"/>
<propertyregex override="yes" property="jarversion" input="${jarversion}" regexp=".jar" replace="" global="true"/>
어떤 언어를 사용하고 있습니까? 어떤 종류의'Path.Split' 유형 함수를 사용하여 파일 이름을 얻은 다음, 문자열 함수를 사용하여'-'로 분할하면됩니다 (또는 실제로 원한다면 그 시점에서 regex를 사용하십시오). – Blorgbeard
질문, 답변 해 주셔서 감사합니다. –