任意的单个字符
搜索任意字符,用点(.),例如:
<?php echo ereg(".", "cat"); ?>
将返回 true,但是
<?php echo ereg(".", ""); ?>
将返回 false,因为我们的要搜索字符串没有包含字符。你可以用花括号随意告诉正则表达式
引擎它要匹配多少个单个字符。如果我只想匹配 5 个字符,我可以这样用 ereg:
<?php echo ereg(".{5}$", "12345"); ?>
上面的这段代码告诉正则表达式引擎当且仅当至少 5 个连续的字符出现字符串的尾部时返
回 true.我们也可以限制连续出现的字符的数目:
<?php echo ereg("a{1,3}$", "aaa"); ?>
在上面的例子里,我们已经告诉正则表达式引擎,我们的搜索字符串来匹配表达式,它在
尾部必须有介于 1 和 3 个的”a”字符。
<?php echo ereg("a{1,3}$", "aaab"); ?>
上面的例子将不会返回 true,虽然有三个”a”字符在搜索字符串里,但是它们不是在字符串
的尾部。如果我们把结尾字符串匹配$从正则表达式中去掉,那么这个字符串是匹配的。
我们也可以告诉正则表达式引擎来匹配至少有确定数目的字符在一行,如果它们存在的,
可以匹配更多。 我们可以这样做:
<?php echo ereg("a{3,}$", "aaaa"); ?>
零或多次重复字符
为了告诉正则表达式引擎一个字符可能存在,也可以重复,我们用*字符。这里的两个例子
都将返回 true.
<?php echo ereg("t*", "tom"); ?>
<?php echo ereg("t*", "fom"); ?>
即使第二个例子不包含”t”这个字符,但仍旧返回 ture,因为*表示字符可以出现,但不是必
须出现。事实上,任何普通的字符串模式都会使上面的 ereg 调用返回 true,因为’t’字符是
可选的.
一或多次重复字符
为了告诉正则表达式引擎一个字符必须存在,也可以重复不止一次,我们用+字符,像
<?php echo ereg("z+", "i like the zoo"); ?>
下面的例子也会返回 true:
<?php echo ereg("z+", "i like the zzzzzzoo!"); ?>
零或一次重复字符
我们也可以告诉正则表达式引擎,一个字符必须是或者只存在一次,或者没有。我们用?字
符来做这项工作,就像
<?php echo ereg("c?", "cats are fuzzy"); ?>
如果我们愿意,我们完全可以从上面的搜索字符串中删除’ c’,这个表达式会仍旧返回
评论0
最新资源