import java.util.regex.Pattern;
public class CopyOfSalutonPublic
{
public void fuction(String test)
{
Pattern pt = Pattern.compile(":\\/{2}|@");
String[] strArray = pt.split(test);
// 如果假定test格式合法,数组不会越界
String protocol = strArray[0];
String domainName = strArray[1];
String username = strArray[2]; System.out.println("test [" + test + "]");
System.out.println("protocol [" + protocol + "]");
System.out.println("username [" + username + "]");
System.out.println("domainName [" + domainName + "]");
} public static void main(String[] args)
{
String test = "http://[email protected]";
CopyOfSalutonPublic publicObj = new CopyOfSalutonPublic();
publicObj.fuction(test);
}
}
这个式子中的 Pattern pt = Pattern.compile(":\\/{2}|@");
是public static Pattern compile(String regex)将给定的正则表达式编译到模式中。 我都能理解 但是(":\\/{2}|@");里的:\\我知道是什么 后面的/{2}|@ 是什么意思我就不知道了 @也知道什么 但是组合在一起(":\\/{2}|@");各种符号都代表是什么意思,我在书上没有找到,我知道这个总的意思是将:\\,@的字符串给分开,如同Split()一样,但是这俩的区别是什么,如果用Split()写这个程序怎么写,
注:要求用String类的方法实现,不得采用正则表达式(不是这题的) 这句话是什么意思
public class CopyOfSalutonPublic
{
public void fuction(String test)
{
Pattern pt = Pattern.compile(":\\/{2}|@");
String[] strArray = pt.split(test);
// 如果假定test格式合法,数组不会越界
String protocol = strArray[0];
String domainName = strArray[1];
String username = strArray[2]; System.out.println("test [" + test + "]");
System.out.println("protocol [" + protocol + "]");
System.out.println("username [" + username + "]");
System.out.println("domainName [" + domainName + "]");
} public static void main(String[] args)
{
String test = "http://[email protected]";
CopyOfSalutonPublic publicObj = new CopyOfSalutonPublic();
publicObj.fuction(test);
}
}
这个式子中的 Pattern pt = Pattern.compile(":\\/{2}|@");
是public static Pattern compile(String regex)将给定的正则表达式编译到模式中。 我都能理解 但是(":\\/{2}|@");里的:\\我知道是什么 后面的/{2}|@ 是什么意思我就不知道了 @也知道什么 但是组合在一起(":\\/{2}|@");各种符号都代表是什么意思,我在书上没有找到,我知道这个总的意思是将:\\,@的字符串给分开,如同Split()一样,但是这俩的区别是什么,如果用Split()写这个程序怎么写,
注:要求用String类的方法实现,不得采用正则表达式(不是这题的) 这句话是什么意思
(1)冒号:表示冒号本身,没有什么特殊意义。
(2)\\用来转义/这个字符的(这里有两个\,是Java 代码编译成为 \ )
(3){2}表示前面的字符需要出现两次,不能多也不能少哦。这里就表示/需要出现两次
(4)|是一个多选结构的元字符。可以理解成前面的/{2}与后面的@符号是或的关系。
(5)@符号表示其本身,没有什么特俗含义。2.说说你的“要求用String类的方法实现,不得采用正则表达式(不是这题的) 这句话是什么意思” 是要考中文的理解能力吗? 就是不用正则表达式来处理,直接用String类的基本方法,通过顺序、分支、循环编程来实现同样的功能。