学了这么久Java,可却不知道自己到底学了什么。当别人问我能做什么时,我除了说它的功能非常强大,好似没有话题可说,进一步的,当问起我能干什么/我能做出什么时,我——哑口无言,我知道我“一无所知”,而我却是从会计过来的,谁又能相信我学的很好:我自己都不相信。
只能每天的日积月累,很多专家是忌讳如此学习方法的,因为如今技术日新月异,谁又能说下一步会发生什么呢?可也正因为如此,我更应该脚踏实地,步步为营。
今天学了以前学过的知识,只是以前是网上学的——正则表达式(规则表达式):java.util.regex.
它的功能不是我这些无名小卒两三天就能参透的,可我在学,而且也确实领会到的强大的功能:如,我想从一页网页copy所有Email地址, 正则表达式轻而易举。
正则表达式里两个必学的类:Pattern 和 Matcher——都无构造函数,但都很容易创建:
static Pattern compile(String pattern);
Matcher matcher(CharSequence str);
正则表达式的灵活在于的语法,其组成元素有:普通字符,字符类([...]),通配符和量词。量词:+——匹配一次或多次;*——匹配0或多次;?——匹配0或一次。还有一些非常有用的函数,e.g :boolean find(), String replaceAll(), String[] split(Charequence str), String group();等等;
简单的程序:
import java.util.regex.*;
class RegExpr2
{
public static void main(String[] args)
{
//Pattern pat = Pattern.compile("W+");
//Pattern pat = Pattern.compile("e.+?d");
Pattern pat = Pattern.compile("[a-z]+");
//Matcher mat = pat.matcher("W WW WWW");
//Matcher mat = pat.matcher("extend cup end table");
Matcher mat = pat.matcher("this is a test.");
while(mat.find())
{
System.out.println("Match: "+ mat.group());
}
}
}
只能每天的日积月累,很多专家是忌讳如此学习方法的,因为如今技术日新月异,谁又能说下一步会发生什么呢?可也正因为如此,我更应该脚踏实地,步步为营。
今天学了以前学过的知识,只是以前是网上学的——正则表达式(规则表达式):java.util.regex.
它的功能不是我这些无名小卒两三天就能参透的,可我在学,而且也确实领会到的强大的功能:如,我想从一页网页copy所有Email地址, 正则表达式轻而易举。
正则表达式里两个必学的类:Pattern 和 Matcher——都无构造函数,但都很容易创建:
static Pattern compile(String pattern);
Matcher matcher(CharSequence str);
正则表达式的灵活在于的语法,其组成元素有:普通字符,字符类([...]),通配符和量词。量词:+——匹配一次或多次;*——匹配0或多次;?——匹配0或一次。还有一些非常有用的函数,e.g :boolean find(), String replaceAll(), String[] split(Charequence str), String group();等等;
简单的程序:
import java.util.regex.*;
class RegExpr2
{
public static void main(String[] args)
{
//Pattern pat = Pattern.compile("W+");
//Pattern pat = Pattern.compile("e.+?d");
Pattern pat = Pattern.compile("[a-z]+");
//Matcher mat = pat.matcher("W WW WWW");
//Matcher mat = pat.matcher("extend cup end table");
Matcher mat = pat.matcher("this is a test.");
while(mat.find())
{
System.out.println("Match: "+ mat.group());
}
}
}