使用Pattern及Matcher判斷字串符不符合各項條件
import java.util.regex.Matcher;
import java.util.regex.Pattern;;

//是否都為數字
Pattern p = Pattern.compile("[0-9]*");
Matcher m = p.matcher("1234567890");
System.out.println(m.matches());
//是否為大小寫字母
p = Pattern.compile("[a-zA-Z]*");
m = p.matcher("abcABCaBcabC");
System.out.println(m.matches());
//手機號碼
p = Pattern.compile("[0-9]{4}-*[0-9]{6}");
m = p.matcher("0911111222");
System.out.println(m.matches());
m = p.matcher("0911-111222");
System.out.println(m.matches());
//EMail
p = Pattern.compile("^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$");
m = p.matcher("abc@www.kimo.com.tw");
System.out.println(m.matches());

抓出abc,def,ghi這3組字串
str = "<td width=100>abc</td>\n<td width=100>def</td>\n<td width=100>ghi</td>";
p = Pattern.compile("<td width=100>(.*)</td>");
m = p.matcher(str);
while(m.find()){
    System.out.println(m.group(1));
}
將Pattern.compile改成("(?i)<td width=100>(.*)</td>");
就可以不分大小寫去尋找



直接使用字串的matches功能

//是否都為數字
String str = "1234567890";
System.out.println(str.matches("[0-9]*"));
//是否為大小寫字母
str = "abcABCaBcabC";
System.out.println(str.matches("[a-zA-Z]*"));
//手機號碼
str = "0911111222";
System.out.println(str.matches("[0-9]{4}-*[0-9]{6}"));
str = "0911-111222";
System.out.println(str.matches("[0-9]{4}-*[0-9]{6}"));
//EMail
str = "abc@www.kimo.com.tw";
System.out.println(str.matches("^[_a-z0-9-]+([.][_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$"));

arrow
arrow
    全站熱搜

    momokao 發表在 痞客邦 留言(0) 人氣()