我必须创建一个正则表达式来检查字符串是否只包含数字、字母和其他符号,除了\ > <
. 我能够为数字和字母创建。我尝试[^\<>]
检查字符串是否不包含 \ > <
特殊字符。
但它没有用。有人可以建议如何完成。
编辑:
可能是一个简单的问题,但我只是从 regx 开始。
\
是正则表达式中的特殊字符,即使在字符类中也是如此。如果要将其用作文字字符,则必须对其进行转义,因此正则表达式为
[^\\<>]
如果你在 Java 中使用它,你必须额外转义字符串级别,所以它会显示为:
String regex = "[^\\\\<>]";
[^\<>]
如果字符串甚至包含一个不是反斜杠或尖括号的字符,则匹配将成功。如果您希望它仅在字符串中没有字符是禁止字符之一时成功,请使用
^[^\\<>]+$
你可以试试正则表达式:
^[^\\<>]*$
例如
private static final Pattern REGEX_PATTERN =
Pattern.compile("^[^\\\\<>]*$");
public static void main(String[] args) {
System.out.println(
REGEX_PATTERN.matcher("Hello World!").matches()
); // prints "true"
System.out.println(
REGEX_PATTERN.matcher("<script ...></script>").matches()
); // prints "false"
}