regex
  • ant
  • 2017-10-06 7 views 0 likes 
    0

    ファイルに一致するものがある場合は、表を置き換えたい。replaceregexp ant tabulationを挿入しない

    <property name="line.separator" location="\r" /> 
    <property name="tab.separator" location="\t" /> 
    
    <target name="replace"> 
        <replaceregexp 
         match='@WebMethod([\s\S]*?(?=public))public\s+(\w+)\s+(\w*)[\s\S]+?(?=\))[\s\S]+?(?=MSE)(\w+)\s+(\w*)[\s\S+]+?(?=throws)throws\s+(\w*)' 
         replace='@WebMethod(operationName="\$4")${line.separator}${tab.separator}@RequestWrapper(localName = "\$3")${line.separator}\[email protected](localName = "\$2")${line.separator}\rpublic \$2 \$3\(${line.separator}\r\r\$4 \$5)${line.separator}\r\rthrows MSFWebServiceException' flags="g,m"> 
         <fileset dir="${project.dir}" /> 
        </replaceregexp> 
    

    しかし @WebMethod(のoperationName = "\ $ 4")の一部$ {line.separator}${tab.separator}@RequestWrapper

    リターン:私はこのコードを持っていますこの:

    @WebMethod(operationName="MSEPDetalleFigPartDTO") 
    C:[email protected] 
    

    だから、\ nはOKになるが、それはCと\ tを置き換えるために、\ tは動作しません。代わりに集計tの。

    助けていただければ幸いです。

    <property name="tab.separator" location="\t" /> 
    

    代わりのプロパティline.separatorが既に設定されている

    <property name="tab.separator" value="&#x9;" /> 
    

    (理由:

    親切よろしく

    答えて

    0

    これはlocationの代わりに、value\tによって原因の代わり&#x9;ですそれはAnt built-in property)、最初の行は無視されます。

    location="\t"

    は、ルートディレクトリ内のファイル tのファイルの場所を意味し、あなたのケースでは、ドライブ C:

    です
    関連する問題