帮忙看一下正则表达式! 其实这是书上的一个例子.我是想匹配一个邮地址, 经过证实\. 和\\. 都是表示字面上的"." 。如果按zzh26所说 82521@111\.net 就不能通过??!! 其实我就卡在\\.上它到底代表什么?应该怎么解?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://expert.csdn.net/Expert/topic/2225/2225769.xml?temp=.8922693 82521@111\.net 是合法的email地址吗? zzh26(瞌睡)和 ustb(偶然)说的很清楚了其实,还有就是 \\.包括了\.这个,\.这个只不过是代表一个.,而\\.这个不仅代表了一个.,还代表了别的82521@111\.net 这个在第二个正则肯定是能通过的,第一个就不行了顺便恭喜 feel8,星级人物了:) (1)\. 是用 \ 将 . 转意表明必须匹配[email protected];例如:[email protected].(2)\\. 是用第一个 \ 将第二个 \ 转意,而 . 是代表任意的字符,匹配格式是:string0@string1\char(1)string2。例如:11@111\22 看了楼主的答复我做了一个试验<?if (ereg('$parent', '$str')) { echo '1';}else{ echo '0';}?>发现当$parent为'\.'和'\\.'时只要$str中存在'.'输出就是1当$parent为'\\\.'时匹配的才是'\'+任意事实说明'\'和'\\'表示的都是转意符的意思,我上面的解释的确没有经过事实的考验,不好意思 xuzuning(唠叨): 请注意看上下文!bonniewater(陪你去看海): 你为什么这么肯定??你试过了吗??!!!weieryang(一生): 谢谢你的参与~zzh26(瞌睡): 您说的我比较赞同!;比如: $pat="^\\\."; if(ereg($pat,$aval)) echo 1; else echo 2; 只匹配以\加任意字符(包括空)开头的字符串,比如\zzh26(瞌睡) , \ , \\\ , \1235 这些就不能通过:zzh26(瞌睡)\ ,zzh26(瞌睡)\zzh26(瞌睡) , aa\1243 您还有什么看法那? 如果没有就结了! 另外还有一个问题: $alink="[L=HTTP://WWW.ZYJS.NET]ZYJS[EL]" $pat="\[L=([a-zA-Z\.\:\/]+)\]([a-zA-Z]+)\[EL\]"; $joketext=ereg_replace($pat, "<A Href=\"\1\">\2</A>", $alink); echo $joketext; 这是结果! <A Href=""></A> 不知道我到底那里写错了! 如果要是算上中文应该怎么写呀???? $joketext=ereg_replace($pat, "<A Href=\"\\1\">\\2</A>", $alink); $joketext=ereg_replace($pat, "<A Href=\"\\1\">\\2</A>", $alink); xuzuning(唠叨) :十分感谢另外我在看您在其它地方回答的问题中给出了如下例子:$str = "中文测试"; preg_match_all("/([\x81-\xfe][\x40-\xfe])/", $str, $ch); $patterns = array_unique($ch[0]); echo "begin <br>";print_r($patterns);其中 "/([\x81-\xfe][\x40-\xfe])/" 都代表什么呀???为什么开始和结尾都有一个"/"哪? 如何获取CURL读取远程html后完成时的状态? 帮我想个数组. php,大家都使用什么开发环境? 文章访问权限问题 share一段采集程序的代码,顺便散分 新手求救 求一个用于管理朋友信息的程序同时可以提供给用户进行添加,删除,修改的功能。 请教下php的Resource问题? 用过模板的朋友来看看吧,这几个地方,想必你们也遇到过吧 怎样在php中嵌入ActiveX控件? ******* web下申请ftp帐号 ********* PHP初学者头疼问题总结【一】统称火星问题,分少的进来,顶者有分
其实,还有就是 \\.包括了\.这个,\.这个只不过是代表一个.,而\\.这个不仅代表了一个.,还代表了别的
82521@111\.net 这个在第二个正则肯定是能通过的,第一个就不行了
顺便恭喜 feel8,星级人物了:)
(2)\\. 是用第一个 \ 将第二个 \ 转意,而 . 是代表任意的字符,匹配格式是:string0@string1\char(1)string2。例如:11@111\22
<?
if (ereg('$parent', '$str')) {
echo '1';
}else{
echo '0';
}
?>
发现当$parent为'\.'和'\\.'时只要$str中存在'.'输出就是1
当$parent为'\\\.'时匹配的才是'\'+任意
事实说明'\'和'\\'表示的都是转意符的意思,我上面的解释的确没有经过事实的考验,不好意思
您说的我比较赞同!;比如:
$pat="^\\\.";
if(ereg($pat,$aval))
echo 1;
else
echo 2;
只匹配以\加任意字符(包括空)开头的字符串,比如\zzh26(瞌睡) , \ , \\\ , \1235
这些就不能通过:zzh26(瞌睡)\ ,zzh26(瞌睡)\zzh26(瞌睡) , aa\1243 您还有什么看法那? 如果没有就结了!
$alink="[L=HTTP://WWW.ZYJS.NET]ZYJS[EL]"
$pat="\[L=([a-zA-Z\.\:\/]+)\]([a-zA-Z]+)\[EL\]";
$joketext=ereg_replace($pat, "<A Href=\"\1\">\2</A>", $alink);
echo $joketext; 这是结果!
<A Href=""></A>
不知道我到底那里写错了!
如果要是算上中文应该怎么写呀????
十分感谢
另外我在看您在其它地方回答的问题中给出了如下例子:
$str = "中文测试";
preg_match_all("/([\x81-\xfe][\x40-\xfe])/", $str, $ch);
$patterns = array_unique($ch[0]);
echo "begin <br>";
print_r($patterns);
其中 "/([\x81-\xfe][\x40-\xfe])/" 都代表什么呀???为什么开始和结尾都有一个"/"哪?