问题是这样的:

我希望表达式e中可以出现除’#'外的任何字符(包括任何unicode字符)

‘#’的unicode为u0023

一开始我想直接用[^#]+或[^u0023]+这样的,

结果发现这里的“全集“似乎不包含unicode字符,所以中国字也属于不匹配的

问题1: 当使用^运算符时,相对的”全集”是什么?

后来我决定使用[u0000-u0022]|[u0024-uFFFF]+

也就是说手动指定全集,把u0023空过去

结果发现竟然出现了语法错误~~~

错误提示是:

unclose literal string 未闭合的串字面值

而如果将原式改为

[u0000-u0023]|[u0024-uFFFF]+

[u0000-u0021]|[u0024-uFFFF]+

都不会有问题

最后,终于发现

在java中

System.out.println(”u0022″);竟然都有语法错误!

换句话说,问题出在u0022这个unicode值上

问题2:为什么只有u0022不行呢?

难道是bug?

后来,jinni自己给出了答案

在flash 输出 trace(u0022),原来是 “

[Edit on 2004-8-20 11:16:24 By guoshuang]