正则手册

/love/ 定界符

元字符包括:"+" "*" "?"
“+” 前导字符必须出现一次或多次 /fo+/   fo  football    {1,*}
"*" 前导字符必须出现零次或多次 /eg*/   easy egg ego    {0,*}
"?" 前导字符必须出现零次或一次 /wil?/  win wilson      {0,1}

{2,6}  确定前字符的出现次数 /jim{2,6}/   匹配 jimmy , jimmmmmmmy

要点:’*’ ‘+’ 和 ‘?’ 只管它前面那个字符。

如果有 () 的话. 应该是管()内的字符


重要的元字符
\s 匹配单个空格符,包括tab键和换行符
\S 匹配单个空格符以外的所有字符
\d 匹配0-9的数字
\w 匹配字母,数字或下划线的字符
\W 匹配所有\w不匹配的字符
.  匹配换行符之外的所有字符

/\s+/ 一个或多个空格
/\d000/ 总额大于1000的


定位符:

"^" "$" "\b" "\B"
"^" 字符的开头    /^hell/  hell开头  hell hello hellowley
"$" 字符的结尾    /ar$/     car   bar plar
"\b" 字符的头或尾 /\bbom/  bomb bom   /man\b/ human woman man
"\B" 字符的内部  

/[A-Z]/ 所有大写字母匹配
/[a-z]/ 所有小写字母匹配
/[0-9]/
/([a-z][A-Z][0-9])+/

/to|too|2/ 或运算

[^] 否定符
/[^A-C]/ 除去 A-C字符外的所有字符

表达式中需要加入元字符时. 需要用到的转义符"\"
/Th\*/

ereg(pattern,string)

if(ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-)+(\.[a-zA-Z0-9_-])+".$emall)
{
    echo "you email is right";
}else{
    echo "you email is wrong!";
}


^[a-zA-Z0-9_-]+@(a-zA-Z0-9_-\.)+(.[a-zA-Z0-9-])*$

 

//php中特殊的地方

preg_match
preg_match_all
设定此修正符


<?php
// 从 URL 中取得主机名
preg_match("/^(http:\/\/)?([^\/]+)/i",
    "http://www.php.net/index.html", $matches);
$host = $matches[2];

// 从主机名中取得后面两段
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>


<?php
/* 模式中的 \b 表示单词的边界,因此只有独立的 "web" 单词会被匹配,
 * 而不会匹配例如 "webbing" 或 "cobweb" 中的一部分 */
if (preg_match ("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    print "A match was found.";
} else {
    print "A match was not found.";
}

if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    print "A match was found.";
} else {
    print "A match was not found.";
}
?>

 

i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。
A 强制仅从目标字符串的开头开始匹配
D 模式中的 $ 元字符仅匹配目标字符串的结尾
U 匹配最近的字符串
u 模式字符串被当成 UTF-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值