$str = "abc";
if(ereg("\w", $str))
{
echo "匹配";
} else {
echo "不匹配";
}为什么输出"不匹配"?abc里第一个字母a就匹配\w了,是不是应该返回true了,为什么返回了false?
补充一个问题
正则"<p>.*</p>" 和 正则"<p>(.*)</p>" 有什么不同么? 小括号起了什么作用?请举个例子说说吧。
if(ereg("\w", $str))
{
echo "匹配";
} else {
echo "不匹配";
}为什么输出"不匹配"?abc里第一个字母a就匹配\w了,是不是应该返回true了,为什么返回了false?
补充一个问题
正则"<p>.*</p>" 和 正则"<p>(.*)</p>" 有什么不同么? 小括号起了什么作用?请举个例子说说吧。
<?php
$str = "abc";
if(preg_match("/\w/", $str))
{
echo "匹配";
} else {
echo "不匹配";
}
?>
谢谢大家. 我想知道 为什么 "[a-z]" 能匹配, "\w" 却不能匹配呢?
jnkc朋友并没有写 "([a-z])*" 而只是写 "[a-z]" 结果却是匹配的,可我用"\w"为什么不能匹配呢?
字符串头部:^
<?php echo ereg(“^hello”,”hello world!”); ?>字符串尾部:$
<?php echo ereg(“bye$”,”goodbye”); ?>任意的单个字符:.
<?php echo ereg(“.”,”goodbye”); ?>限制匹配字符数量:{}
<?php echo ereg(“.{5}$”,”12345”); ?> //至少在尾部出现5个任意字符<?php echo ereg(“a{1,3}$”,”aaa”); ?> //至少在尾部出现1-3个字符a零次或多次重复字符:*
<?php echo ereg(“t*”,”tom”); ?> //t可以出现零次或重复,任何字符都返回 true一次或多次重复字符:+
<?php echo ereg(“t+”,”tom”); ?> //t至少要出现一次零次或一次重复字符:?
<?php echo ereg(“t?”,”tom”); ?> //t只能出现一次空格字符:[[:space:]]
<?php echo ereg("hello[[:space:]]?world","hello world"); ?>模式分组 []
<?php echo ereg("^[a-z]+$","hello"); ?> //a到z的所有小写字符
<?php echo ereg("^[a-zA-Z]+$","hello"); ?> //a到z的所有大小写字符词语分组 |
<?php echo ereg("^(张|李).+$","张三"); ?> //张或李开头,后面至少一个字符特殊字符(字符专义) \
<?php echo ereg("^[a-zA-Z]+\|[a-zA-Z]+$","a|b"); ?>英文字母开头,中间|字符,尾部英文字母结尾