需要限制以[开头的文本


@Pattern("^\[")

不工作

样本输入:

Welcome[Hello- Pass

Welcome[- Pass

[Welcome- Fail

- Pass

@Pattern("^(?!\[).*")

是由stackoverflow建议的。但是当插入新的行字符(n)它似乎不工作

public final static String FREE_TEXT_FIELD_VALIDATION_PATTERN = "^(?!\[).*";
@Pattern(regexp = FREE_TEXT_FIELD_VALIDATION_PATTERN, message = FREE_TEXT_FIELD_VALIDATION_ERROR) 
public String ruleDescription;
^[.*$

^ = start of string
[ = escaped '[' character
.* = zero or more of any character except newline

Welcome[Hello - Fail]

欢迎[-失败]

[欢迎-通行证

]你可以在这里测试https://regexr.com/

编辑

如果你想匹配任何不以[开头但允许换行

^(?!([))w+((.|n)*)$

Welcome[Hello - Pass
Welcome[ - Pass
[Welcome - Pass
[Welcome
test.    - PASS

编辑2

^(?!([))w+((.|n)*)$|^$

添加|^$ for允许空字符串

|表示替换this|that。

最新更新