gpt4 book ai didi

java - 匹配一个 ant 正则表达式,但不匹配其他正则表达式

转载 作者:行者123 更新时间:2023-11-30 07:07:03 24 4
gpt4 key购买 nike

我想允许我的 ant 属性使用以下语法foo_abc:bar1,bar2,blah|foo_def:bar1,bar2|s64lk:kj,34kj

我编写了以下 ant 条件来验证并存储在 legalmyprop 中。第一个 matches 匹配完整的有效字符串。以下不匹配明确禁止用户可能尝试的任何其他特殊字符。 not 匹配似乎不起作用

<condition property="legalmyprop" value="${myprop}">
<and>
<matches string="${myprop}" pattern="^[^:,|]+:[^,:|]+(,[^:,|]+)*(\|[^:,|]+:[^:,|]+(,[^:,|]+)*)*$" />
<not> <matches string="${myprop}" pattern="^.*[ =}{.;)(]+\*^\\'].*$" /> </not>
<not> <matches string="${myprop}" pattern='^.*["].*$' /> </not>
</and>
</condition>

foo:bar, 按预期失败

foo_abc:bar1,bar2,blah|foo_def:bar1,bar2|s64lk:kj,34kj 传递为预计

foo::bar| 按预期失败

foo:bar.abc 意外通过

foo:bar=abc 意外通过

有什么想法可以修复正则表达式吗?

最佳答案

让我们仔细看看您当前的不匹配情况:

^.*[ =}{.;)(]+\*^\\'].*$
^ ^
| |
Start End of the character class

当前的 char 类是 [ =}{.;)(] 并且您希望它是:

[ =}{.;)(\]+\*^\\']
^

按预期工作

关于java - 匹配一个 ant 正则表达式,但不匹配其他正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39927709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com