在软件开发和一些应用程序使用中正则表达式具有广泛的用途。虽然在有些应用中正则表达式形式可能有异,但是大部分还是相同的,至少思想相同。
下面摘抄了几种简单的正则表达式。
1句号”.”表示任何字符。如reg=”t.n”它匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn”甚至“t n”。但是“.”只表示一个字符,“tten”就不能匹配reg了。如果reg=“t.*n”则能匹配“tn”,“ttten”。表示t和n之间有0个或多个字符。
2 方括号句号“.”的表达范围太大,因此有了[],来限定是哪一些字符。方括号内的字符值取一个,如[aeio],则reg=“t[aeio]n”匹配tan,ten等,但是不能匹配taan。当然可以加“*”来表示取方括号中的多个字符。
3,“或”符号“(a|e|i|oo)”表示或的意思,这样就可以匹配“toon”。注意这里必须是圆括号。
4表示匹配次数的符号
表一显示了表示匹配次数的符号,这些符号用来确定紧靠该符号左边的符号出现的次数: *,?,+,{n},{m,n}。
如果字符串中间出现特殊字符,我们又想在表达式中原样表示,那么就要用到转移字符“\”.如我们要查找99*99的字符串,那么它的正则表达式reg = “\d{2}\*\d{2}”,在正则表达式中“*”就不再表示0次或多次的意思了。而就表示“*”本身。同样“{”在正则表达式中也有特殊的意义,只要我们有“\{”来表示,则“{”就表示其本身。
5 ^符号
“^”放在正则表达式的开头,表示要查找的字符串是以某个字符串开头的字符串。而“^”放在方括号内部,[^a]则表示该处不能是字符a,"ab[^c]de":表示字符串ab#de字符串中间不能是字符c。
6.Java中不以XXX结尾的字符串的正则表达式:
.*(?<!(ems\.u3\.command\.import$)) //主要是(?<!XXX$)的形式。
当这个表达式放在plugin.xml中时,小于号<,表达为<
所以是:.*(?<!(ems\.u3\.command\.import$))