我在编写正则表达式以强制执行自定义字符集时遇到困难。我希望正则表达式只匹配字符串中的每个字符都是定义集的一部分。在集合中匹配一个字符串很容易;麻烦似乎是确保如果传入错误的字符,正则表达式不匹配。
这是正则表达式:
[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]
将匹配“Hello World!” (良好)
不会匹配“双喜”(好)
将匹配Hello World!双喜(不好)
我确信我只是遗漏了一些简单的东西。谢谢!
答案 0 :(得分:3)
此正则表达式只检查模式中是否至少有一个匹配的字符。
请尝试使用^[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]*$
。 (在开头,^和结尾之间,$,可能有任意数量的字符属于该范围,但没有其他字符。)