允许特定特殊字符的正则表达式

时间:2012-10-24 04:03:50

标签: regex

我需要一个正则表达式来允许特殊字符列表((_-。$ @?,:'/!)和支持utf-8语言的字母。

我试过

/^[\_\-\.\$@\?\,\:\'\/\!]*$/

但是用英文和泰米尔语输入字母显示无效。

2 个答案:

答案 0 :(得分:0)

您需要转义连字符才能使其有效。你也不需要逃避大多数其他角色 - 在括号内,几乎所有东西都是文字。

/[_\-.$@?,:'/!]*/

答案 1 :(得分:0)

我不知道你的正则表达式引擎是否支持\p{L}。你可以试试这个:

^[_\-.\$@\?\,\:\'/!\p{L}]*$

或者这个:

^[_\-.\$@\?\,\:\'/!\w]*$

最后一个也匹配数字。