黑马程序员技术交流社区
标题:
关于正则表达式的问题
[打印本页]
作者:
hmyuanqi
时间:
2014-8-31 18:06
标题:
关于正则表达式的问题
class RegTest
{
public static void main(String[] args)
{
//checkMail();
splitDemo("erkktyqqquizzzzzo","(.)\\1+");//按照叠词完成切割。??
}
public static void checkMail()
{
String mail = "
abc12@sina.com
";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+([url=file://\\.[a-zA-Z]+)+]\\.[a-zA-Z]+)+"; //[/url] ??
System.out.println(mail.matches(reg));
}
public static void splitDemo(String str,String reg)
{
String[] arr = str.split(reg);
for(String s : arr)
{
System.out.println(s);
}
}
}
在这段代码里面有两个地方我打了问号,我想问的是,不是说组的出现都有编号吗?就像(.)\\1+,那为什么在([url=file://\\.[a-zA-Z]\\.[a-zA-Z[/url]]+)+代码上,括号后面不是
\\1
+ 呢?不理解,而且我互换着运行了一下,得不到所要结果,谁能帮忙解释一下。
作者:
careit
时间:
2014-8-31 19:44
不太理解你的问题:
试着说一下:
str=erkktyqqquizzzzzo
reg=(.)\\1+
1:String[] arr = str.split(reg);
split 方法以重叠词作为分隔界限 er
kk
ty
qqq
ui
zzzzz
o
返回除了重叠词以为的字符,每一部分都存在数组中
2:你想做的是 邮箱的正则表达比对吧
作者:
hmyuanqi
时间:
2014-8-31 20:34
我是说我在后面两个打了问号的地方,组后面,也就是括号后面写的方式为什么不一样?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2