StringTokenizer?转换String为a char[]并迭代它?别的什么?
我正在尝试构建一个正则表达式,它将检测Windows不接受的任何字符作为文件名的一部分(这些对于其他操作系统是否相同?我不知道,说实话).
这些符号是:
\ / : * ? " |
无论如何,这就是我所拥有的: [\\/:*?\"<>|]
来自http://gskinner.com/RegExr/的测试人员表明这是有效的.对于字符串Allo*ha,*符号亮起,表示已找到它.Allo**ha但是,我应该进入,只有第一个*会亮起来.所以我想我需要修改这个正则表达式以找到所提到的字符的所有外观,但我不确定.
你看,在Java中,我很幸运能够拥有String.replaceAll函数(String regex,String replacement).描述说:
将给定替换的给定正则表达式匹配的此字符串的每个子字符串替换.
换句话说,即使正则表达式只找到第一个然后停止搜索,这个函数仍然会找到它们.
例如: String.replaceAll("[\\/:*?\"<>|]","")
但是,我不觉得我可以冒这个险.那么有谁知道如何扩展它?
例如,我想匹配组成的字符串m来n中国的字符,然后我可以使用:
[single Chinese character regular expression]{m,n}
Run Code Online (Sandbox Code Playgroud)
是否存在单个汉字的正则表达式,可能是存在的任何汉字?
我正在为JEXL脚本创建一个沙箱来执行,以便恶意用户无法访问我们允许他们访问的变量之外的数据,也无法在服务器上执行DOS攻击.我想把这个记录给任何其他人也这样做,并且也让其他人对这种方法有所了解.
以下是我所知道的需要解决的事项列表:
这不适用于JEXL,但可能适用于您使用的脚本语言:
java ×3
regex ×2
character ×1
flex-lexer ×1
iteration ×1
jexl ×1
non-english ×1
string ×1
tokenize ×1
unicode ×1