我的bean有一个名为description的属性。 我需要编写一个正则表达式来验证字符串中是否有任何字符串,然后它应该用双引号括起来。
@Pattern(regexp = "[,?""]*$") did not work for me.
答案 0 :(得分:1)
以下内容将接受任何不包含逗号的说明,无论它是否被引号括起来。它还接受包含逗号的任何描述,只要它们也被引号括起来。
如果是这种情况,那么以下内容应该有效:
@Pattern(regexp = "^([^,]*|\"[^,]*(,[^,]*)+\")*$")
以下是正则表达式重要部分的细分:
其他()*组件只是意味着这种模式可以重复零次或多次。
答案 1 :(得分:0)
你的双重代码中有双引号,不会被接受为有效的Java字符串,尝试在嵌套双引号之前设置\,[]是正则表达式中的OR运算符,这意味着指定元素之一就在支架。所以我认为你的要求应该是:
@Pattern(regexp = "((\",\")|.*)*$")