我需要以下数据的正则表达式:
允许所有数字、所有字母或数字和字母的组合,包括特殊字符:
@ . – ‘ ? , ( ) : ; ! * $ _ = + ^ & #
和法语 Unicode 重音字符。
请帮忙。我正在使用以下正则表达式,它适用于其他字符,但它以某种方式允许正斜杠(/)
。
VALIDATOR_STRING = "^[A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,-?:;!*$_=+^&()]+$";
最佳答案
如果您使用破折号 -
在字符类中(如 A-Z
),它表示一个范围(在此示例中,每个大写字母都在 A
和 Z
之间)。
因此您允许 ,-?
之间的范围其中包含正斜杠。如果你看http://www.asciitable.com您会看到此范围包含以下每个字符:, . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
要避免这种行为,请将破折号作为字符类中的第一个或最后一个字符:
VALIDATOR_STRING = "^[-A-Za-z0-9éÉèÈçÇâÂêÊôÔ@.'#,?:;!*$_=+^&()]+$";
关于java - Java正则表达式中的正斜杠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894553/