我有这个正则表达式字符串:
^[a-zA-Z0-9\t\s\n\r!$()*,-./:;=?@`][{}_~|]+$
对于以下内容,此RE应返回true:
!$()*,-./:;=?@`][{}_~|
我正在使用Apache的RE并在运行匹配功能时得到错误 我认为我的正则表达式缺少某些东西,可能是处理特殊字符 问题是,我的表达有什么问题?这是我的RE匹配功能:
public static String runRegularExpression(String string, String regularExpression, int parenthesis)
{
String result = null;
try
{
RE reCmd = new RE(regularExpression);
if (reCmd.match(string))
{
result = reCmd.getParen(parenthesis);
}
}
catch (Exception re)
{
}
return result;
}
答案 0 :(得分:1)
\s
,则无需匹配\n
和\t
,因为\s
匹配包含空格,制表符和换行符的所有空格。< / LI>
[a-zA-Z0-9_]
可缩短为\w
试试这个正则表达式:
^[\\w\\s\\r!$()*,./:;=?@`{}\\[\\]~|-]+$