如何逃避特殊字符并在正则表达式结束时设置约束。字符串末尾不允许或空格

时间:2018-03-20 17:19:40

标签: java regex

以外的所有内容
< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)
\0 (NULL)
cannot end in space or dot

到目前为止我已经完成了:

return Pattern.compile( "[<\\>\\/\\:\\|\\?\\*\"'\\\\]" ).matcher( name ).find();

不能以空格结尾或点条件不符合。

1 个答案:

答案 0 :(得分:0)

试试这个:

boolean check1 = Pattern.compile(".*[<|>|:|\"|/|\\\\|\\|\\?|\\*|[\\\\0]].*").matcher(name).find();
boolean check2 = Pattern.compile(".*[\\s|\\.]$").matcher(name).find();
return (check1 || check2);

如果名称中有任何错误,则返回true