如何在正则expression式中键入“:”(“冒号”)?
 : “冒号”)在正则expression式中有一个特殊的含义但是我需要像现在一样使用它,就像[A-Za-z0-9.,-:]*我试图逃避它,但是这不起作用[A-Za-z0-9.,-\:]* 
 在大多数正则expression式实现(包括Java的)中, :没有特殊的含义,既不在内部也不在外部。 
 你的问题很可能是由于这个事实-在你的class级中作为一个范围操作员: 
 [A-Za-z0-9.,-:]* 
 其中,-:匹配','和':'之间','所有ASCII字符。 请注意,它仍然匹配文字':'但是! 
试试这个:
 [A-Za-z0-9.,:-]* 
 通过放置-在课程的开始或结束,它匹配文字"-" 。 如Keoki Zee的评论中所提到的,你也可以在课堂上逃避,但是大多数人只是简单地把它添加到最后。 
演示:
 public class Test { public static void main(String[] args) { System.out.println("8:".matches("[,-:]+")); // true: '8' is in the range ','..':' System.out.println("8:".matches("[,:-]+")); // false: '8' does not match ',' or ':' or '-' System.out.println(",,-,:,:".matches("[,:-]+")); // true: all chars match ',' or ':' or '-' } } 
 小心, -与正则expression式有特殊的意义。 在[] , 如果放置在最后,则可以毫无问题地放置它 。 在你的情况下,, ,-:被取为从,到: 。 
冒号在angular色类中没有特别的意义,也不需要逃脱。 根据PHP正则expression式文档 ,字符类中唯一需要转义的字符如下:
除了
\,-,^(在开始处)和终止处以外的所有非字母数字字符在字符类中都是非特殊字符,但是如果它们被转义则不会造成危害。
有关Java正则expression式的更多信息,请参阅文档 。
 使用\\:而不是\: .. \在javastring中有特殊含义。