regex optional 在 primefaces 中使用 allowTypes

regex optional using allowTypes in primefaces

这是我的正则表达式,在本地 java 中它可以工作,但是当我试图将它放在 p:fileUpload allowTypes 上时它不起作用。

我的目标是 1) "itrs" 或 "ITRS" 是必须的 2) "-draft" 或 "-DRAFT" 是可选的 3) “.csv”或“.CSV”是必须的

我想尽可能过滤文件名和文件扩展名

这在我的本地工作:(itrs|ITRS)((-draft|-DRAFT)?)(\.|\/)(csv|CSV)$

您可以使用其中之一

allowTypes="/^(?:itrs|ITRS)(?:-draft|-DRAFT)?\.(?:csv|CSV)$/"

或者,如果 dRaFtItRS 也被接受,您可以使用 i 不区分大小写的修饰符稍微缩短模式:

allowTypes="/^itrs(?:-draft)?\.csv$/i"

请注意此处使用 / 正则表达式分隔符。另外,请参阅 PrimeFaces "FileUpload - Single" docs 中的示例,说明正则表达式定界符的使用。

注意:如果确实需要在[=18=之前匹配./,请将\.替换为[.\/].