我正在使用正则表达式检查文件名。
文件名可以是
的格式客户名称-公司名称
我正在使用此正则表达式:
private static final Pattern fileRegex = Pattern.compile("^[a-zA-Z0-9_\\-\\.\\s\\,\\[\\]()\\{\\}]+$");
但是,hypen号(减号)不起作用,它的作用就像破折号。 我不确定这可能是因为IntelliJ创意设置。 如何在此正则表达式中添加减号?
例如,此格式必须有效:
test-test1 − test2
在这里,第一个是简单的破折号,第二个是减号。
答案 0 :(得分:0)
好吧,毕竟它们是不同的unicode符号
代码点不同:破折号45和减号8722
您必须将\-替换为[\-\ −]
答案 1 :(得分:0)
在您的字符集中添加减号(\u2212
)
private static final Pattern fileRegex = Pattern.compile("^[a-zA-Z0-9_\\-\\u2212\\.\\s\\,\\[\\]()\\{\\}]+$");