gpt4 book ai didi

java - 这个模式有什么问题吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:06 25 4
gpt4 key购买 nike

谁能告诉我这个正则表达式有什么问题

"^[a-zA-Z0-9 -\\/_&()']*$"

我希望它只接受像 abc123/-_ 这样的值但我不知道为什么它甚至接受 ABC

但它不接受双引号。

这是我的代码:

public static final Pattern 

PATTREN = Pattern.compile("^[a-zA-Z0-9 -\\/_&()']*$");
Matcher m = PATTREN .matcher("ABC\"");
return m.matches();

最佳答案

我相信这就是你想要的

  • [] 中唯一需要转义的字符是连字符 - 它具有特殊含义。其他一切都是字面意思,甚至括号、斜线等通常都有意义。

  • 不需要开始和结束标记

  • 您可以在模式中使用 Pattern.CASE_INSENSITIVE 标志,而不是通过 A-Za-z 添加额外的复杂性代码

示例

Pattern pattern = Pattern.compile("[a-z0-9\\-/_&()']*", Pattern.CASE_INSENSITIVE);
System.out.println(pattern.matcher("abc123/-_'s").matches());
System.out.println(pattern.matcher("ABC\"").matches());

关于java - 这个模式有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28937083/

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