正则表达式

Regexp 代表一个正则表达式。

参数

属性 描述 必需
pattern 正则表达式模式
refid 使此 regexp 成为对在其他地方定义的 regexp引用。如果指定,则不允许其他属性或嵌套元素。

示例

<regexp id="myregexp" pattern="alpha(.+)beta"/>

定义一个正则表达式,以便稍后使用 id myregexp

<regexp refid="myregexp"/>

使用 id myregexp 的正则表达式。

正则表达式实现的选择

Apache Ant 附带了 java.util.regexjakarta-regexpjakarta-ORO 的包装器,有关支持库的信息,请参阅 安装依赖项

属性 ant.regexp.regexpimpl 控制将选择哪个正则表达式实现。此属性的可能值为

它也可以是 org.apache.tools.ant.util.regexp.Regexp 接口的另一个实现。如果未定义 ant.regexp.regexpimpl,Ant 将使用 Jdk14Regexp,因为该库始终可用。

与行终止符相关的匹配存在跨平台问题。例如,如果您使用 $ 将正则表达式锚定到行尾,则结果可能因平台和使用的正则表达式库而异。强烈建议您在依赖正则表达式之前在 Unix 和 Windows 平台上测试您的模式。

我们过去建议您使用 Jakarta ORO,但由于其开发已停止,Java 的内置正则表达式包可能是未来最好的选择。

用法

以下任务和类型使用 Regexp 类型

这些字符串过滤器也使用 regexp 机制来选择正则表达式实现