练习学习与收集(Properties、Matcher 和Pattern)

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;

/*
* 从路径中的属性文件中读取单个属性或全部属性及设置属性
*/
public class GetProperty {
public static String readValue(String filePath, String key) {
Properties props = new Properties();
try {
InputStream ips = new BufferedInputStream(new FileInputStream(
filePath));
props.load(ips);
String value = props.getProperty(key);
System.out.println(key + "=" + value);
return value;
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

// 读取全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream ips = new BufferedInputStream(new FileInputStream(
filePath));
props.load(ips);
Enumeration<String> en = (Enumeration<String>) props
.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String value = props.getProperty(key);
System.out.println(key + "=" + value);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

public static void writeProperties(String filePath, String paraKey,
String paraValue) {
Properties props = new Properties();
try {
OutputStream ops = new FileOutputStream(filePath);
props.setProperty(paraKey, paraValue);
props.store(ops, "");
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
GetProperty.readValue("E:\\TEST\\pro.properties", "name");
GetProperty.readProperties("E:\\TEST\\pro.properties");
GetProperty.writeProperties("E:\\TEST\\pro.properties", "Adreess",
"liao_1234@163.com");
}
}


import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {

public static void main(String[] args) {
//简单认识正则表达式的概念
/*
p("abc".matches("..."));
p("a8729a".replaceAll("\\d", "-"));
Pattern p = Pattern.compile("[a-z]{3}");
Matcher m = p.matcher("fgh");
p(m.matches());
p("fgha".matches("[a-z]{3}"));
*/

//初步认识. * + ?
/*
p("a".matches("."));
p("aa".matches("aa"));
p("aaaa".matches("a*"));
p("aaaa".matches("a+"));
p("".matches("a*"));
p("aaaa".matches("a?"));
p("".matches("a?"));
p("a".matches("a?"));
p("214523145234532".matches("\\d{3,100}"));
p("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
p("192".matches("[0-2][0-9][0-9]"));
*/

//范围
/*
p("a".matches("[abc]"));
p("a".matches("[^abc]"));
p("A".matches("[a-zA-Z]"));
p("A".matches("[a-z]|[A-Z]"));
p("A".matches("[a-z[A-Z]]"));
p("R".matches("[A-Z&&[RFG]]"));
*/

//认识\s \w \d \
/*
p(" \n\r\t".matches("\\s{4}"));
p(" ".matches("\\S"));
p("a_8".matches("\\w{3}"));
p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));
p("\\".matches("\\\\"));
*/

//POSIX Style
//p("a".matches("\\p{Lower}"));

//boundary
/*
p("hello sir".matches("^h.*"));
p("hello sir".matches(".*ir$"));
p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));
p("hellosir".matches("^h[a-z]{1,3}o\\b.*"));
//whilte lines
p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));

p("aaa 8888c".matches(".*\\d{4}."));
p("aaa 8888c".matches(".*\\b\\d{4}."));
p("aaa8888c".matches(".*\\d{4}."));
p("aaa8888c".matches(".*\\b\\d{4}."));
*/

//email
//p("asdfasdfsafsf@dsdfsdf.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"));

//matches find lookingAt
/*
Pattern p = Pattern.compile("\\d{3,5}");
String s = "123-34345-234-00";
Matcher m = p.matcher(s);
p(m.matches());
m.reset();
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
p(m.start() + "-" + m.end());
p(m.find());
//p(m.start() + "-" + m.end());
p(m.lookingAt());
p(m.lookingAt());
p(m.lookingAt());
p(m.lookingAt());
*/

//replacement
/*
Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf");
StringBuffer buf = new StringBuffer();
int i=0;
while(m.find()) {
i++;
if(i%2 == 0) {
m.appendReplacement(buf, "java");
} else {
m.appendReplacement(buf, "JAVA");
}
}
m.appendTail(buf);
p(buf);
*/

//group
/*
Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
String s = "123aa-34345bb-234cc-00";
Matcher m = p.matcher(s);
while(m.find()) {
p(m.group());
}
*/

//qulifiers
/*
Pattern p = Pattern.compile(".{3,10}+[0-9]");
String s = "aaaa5bbbb68";
Matcher m = p.matcher(s);
if(m.find())
p(m.start() + "-" + m.end());
else
p("not match!");
*/

//non-capturing groups
/*
Pattern p = Pattern.compile(".{3}(?=a)");
String s = "444a66b";
Matcher m = p.matcher(s);
while(m.find()) {
p(m.group());
}
*/

//back refenrences
/*
Pattern p = Pattern.compile("(\\d(\\d))\\2");
String s = "122";
Matcher m = p.matcher(s);
p(m.matches());
*/

//flags的简写
//Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
p("Java".matches("(?i)(java)"));
}

public static void p(Object o) {
System.out.println(o);
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值