正则表达式选择多行字符串中的最后一行

时间:2011-11-18 06:59:43

标签: regex ant hex

我有一个ANT脚本,它有一个属性,其值可以是一行或多行,例如 财产

prop1=
A_12.1_REL_B121000_10_18_2011.1700
A_12.1_REL_B121001_10_25_2011.6059
A_12.1_REL_B121001_10_25_2011.2201
A_12.1_REL_B121001_10_25_2011.2014

请注意,所有这些行都以CRLF结尾,文件结尾也是另一个CRLF。现在我需要做的就是使用正则表达式选择最后一行。行数可以更少或更多,例如

prop1=
    A_12.1_REL_B121000_10_18_2011.1700  

在第二种情况下,我需要选择这一行。 我搜索过较旧的帖子,但找不到具体的内容。有什么指针吗?

2 个答案:

答案 0 :(得分:5)

应该这样做......

/^.*\z/m

See it in action

(假设m是多线模式。)

答案 1 :(得分:1)

如果您使用ant-contrib

    <loadfile srcFile="input.prop" property="test"/>

    <propertyregex property="result"
                   input="${test}"
                   regexp="(.*$)"
                   select="\1"
    />

    <echo message="Result is : ${result}"/>

这将始终打印输入属性文件的最后一行:

[echo] Result is : A_12.1_REL_B121001_10_25_2011.2014