Re: [問題] 使用正則表示式?
if內的正規表示式 解析起來應該是這樣的意思:
<a(一個以上的任意字元)hre(0次或1次以上個f)(0次或1次以上的=)['或"出現0次或1次
](0次以上個任意字元)['或"出現0次或1次](0次或1次任意字元)>
所以輸入字串 EX: "<adhre>" 這樣應該也會對...
範例程式: 給你檢查RE用 ps: 有寫注解了..再看不懂我也無法了
link: http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0
Reference by javaworld (別人整理好的 中文解釋)
你...下次先google好嗎...ps: 我也是新手 剛好最近看完RE 所以回答你問題 = ="
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestObject2
{
public static void main(String[] args)
{
//你要檢查的字串
String inputStr = "<adhre>";
//你的Re 規則
String patternStr = "<a.+href*=*['\"]?.*?['\"]?.*?>";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.find();
//比對成功 while成真
//印出找到string 的index 開頭與結尾
//順道將group 印出來
while(matchFound)
{
System.out.println(matcher.start() + "-" + matcher.end());
for(int i = 0; i <= matcher.groupCount(); i++)
{
String groupStr = matcher.group(i);
System.out.println(i + ":" + groupStr);
}
if(matcher.end() + 1 <= inputStr.length())
{
matchFound = matcher.find(matcher.end());
}
else
{
break;
}
}
}
}
※ 引述《spiderman007 (千里之外)》之銘言:
要判斷href的格式是否正確??
// 驗證href標籤
if(str.matches("<a.+href*=*['\"]?.*?['\"]?.*?>"))
System.out.println("格式正確");
else
System.out.println("格式錯誤");
一個正確的格式:
<a href="" rel="nofollow">http://caterpillar.onlyfun.net">
請問*的意義是?? .的意義是?? ?的意義是???
謝謝指教...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.133.179
→
06/06 17:06,
06/06 17:06
推
06/06 17:44,
06/06 17:44
→
06/06 17:45,
06/06 17:45
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.66.243.96
※ 編輯: Gway 來自: 61.66.243.96 (06/07 20:37)
推
06/08 12:30, , 1F
06/08 12:30, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
1
3
java 近期熱門文章
PTT數位生活區 即時熱門文章