作者Gway (当好人=当傻子 ???何必. )
看板java
标题Re: [问题] 使用正则表示式?
时间Tue Jun 7 20:35:55 2011
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="
http://caterpillar.onlyfun.net">
请问*的意义是?? .的意义是?? ?的意义是???
谢谢指教...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.26.133.179
1F:→ LPH66:你这个范例所在的那个网页就有说明...= = 06/06 17:06
2F:推 peacedove:因为他判断<a href>的方式有问题 所以造成你的误解吧 06/06 17:44
3F:→ peacedove:<adddd hreffff====="sd"> 你输入这个 他也会判断成正确 06/06 17:45
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.66.243.96
※ 编辑: Gway 来自: 61.66.243.96 (06/07 20:37)
4F:推 spiderman007:谢谢各位指教... 06/08 12:30