我觉得:
System.out.println(Pattern.compile("^[ab]+$",Pattern.CASE_INSENSITIVE).matcher(strRegTest).matches());太麻烦,有没有其他解决办法?
System.out.println(Pattern.compile("^[ab]+$",Pattern.CASE_INSENSITIVE).matcher(strRegTest).matches());太麻烦,有没有其他解决办法?
解决方案 »
- java applet求代码
- CSDN论坛里左边的树形目录是怎么做的
- 一个runtime error的问题
- GregorianCalendar的一个问题??????
- 请高手指教关于删除的问题
- 出人命了,老板发飚了,编不出来饭碗就丢了啊!
- 关于Jni问题已经解决,回答过的兄弟门接分啊!!!!!!!!!!给足200分,说话算话吧!!哈哈
- 有谁可以把全部常用颜色的名字列出来吗?
- 谁在啃java编程思想
- 如何download jdk1.4 for win98 or windows 2000?
- 接口内常量调用的问题~~~~~~~~~~高手帮忙解释一下~~~ 先谢谢了~~~~
- [菜鸟问题]java里面有没有弹出字体选择框的类库?
public static void main(String[] args) {
Pattern p = Pattern.compile("abcd(?i:EFGhijKL)mn");
Matcher m = p.matcher("abcdefghijklmn");
System.out.println(m.matches());
}
}Pattern.UNIX_LINES
d
Treat \n as the only line terminator.
Pattern.DOTALL
s
Dot (.) matches any character, including a line terminator.
Pattern.MULTILINE
m
^ and $ match next to embedded line terminators.
Pattern.COMMENTS
x
Ignore whitespace and allow embedded comments starting with #.
Pattern.CASE_INSENSITIVE
i
Case-insensitive match for ASCII characters.
Pattern.UNICODE_CASE
u
Case-insensitive match for Unicode characters.
String strRegTest = "aaBB";
System.out.println(strRegTest.matches("^[(?i:ab)]+$"));
还是这里还是打印false?
[] 只表示一个字母, 而不是一个字串
使用
^(?i:[ab]+)$
或者
(?i)^[ab]+$
(?i) 代表后面的表达式一律是大小写无关的
(?i:string) 只是冒号后面的表达式大小写无关的
(?-i)
(?-i:string)
如果不加其他修饰符的确只占"一个字符"的位置贪婪, 懒惰, 抢占(Possessive, 翻译的可能不恰当)等模式
只在使用量化器(quantifier)时才有意义
例如:
a+ 是 Greedy
a+? 是 Reluctant
a++ 是 Possessive