正则表达式强制执行字符集

时间:2013-12-13 17:27:00

标签: regex character-encoding

我在编写正则表达式以强制执行自定义字符集时遇到困难。我希望正则表达式只匹配字符串中的每个字符都是定义集的一部分。在集合中匹配一个字符串很容易;麻烦似乎是确保如果传入错误的字符,正则表达式不匹配。

这是正则表达式:

[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]

匹配“Hello World!” (良好)

不会匹配“双喜”(好)

匹配Hello World!双喜(不好)

我确信我只是遗漏了一些简单的东西。谢谢!

1 个答案:

答案 0 :(得分:3)

此正则表达式只检查模式中是否至少有一个匹配的字符。

请尝试使用^[\u0000-\u00FF\u20AC\u0160\u0161\u017D\u017E\u0152\u0153\u0178]*$。 (在开头,^和结尾之间,$,可能有任意数量的字符属于该范围,但没有其他字符。)