2012-03-11 120 views
2

下面的正则表达式对我没有帮助;范围按相反顺序?

[Aa][æ-åÆ-Å].* 

但这个表达式是不是没有

[Aa][v-zV-Z].* 

只有当AE-A是使用(丹麦carachters)。我感到困惑,为什么?

错误我得到它

parsing "[Aa][æ-åÆ-Å].*" - [x-y] range in reverse order. 

回答

1

æ是字符码145,而å是字符码134,所以你实际上说给我字符码145和134之间的字符,因为下限大于上限,所以不起作用。 ÆÅ的情况也是如此。

这里的字符代码可以帮助您确定您需要创建,而不是正则表达式的一个图表:

http://www.asciitable.com/

3

[Z-V]会失败一样的 - 你需要排序的字母。 例如:Æ是U + 00C6,Å是U + 00C5,它们应该颠倒过来(或者您可以删除-,它们之间没有字母)...

如果可能,尝试使用Unicode character properties而不是尝试手动定义范围。例如,\p{L}将匹配所有字母。