文档章节

正则表达式

我辈年轻1
 我辈年轻1
发布于 2016/11/03 19:22
字数 896
阅读 5
收藏 0
<?php
/*
    正则表达式
    
    正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配,替换,截取匹配的字串。对也用户来说
    
    可能以前没有接触过DOS,如果想匹配当前文件夹下所有的文本文件可以输入“dir *.txt”命令
    
    按Enter键后所有的文本文件就将会被列出来。这里的“*.txt”就可以理解为一个简单的正则表达式
    
    正则表达式的语法规则
    
        行定位符(^&$)
        
            行定位符就是用力啊描述字符串的边界。“^”表示开始
            “$“表示结尾
        
        单词定界符(\b,\B)
            
            \b 表示查找的自创为一个完整的单词
            
            例如:
                \bghost\b
                
            \B 表示它匹配的字串不能是个完整的单词,
            
            而是其它单词或字串的一部分:
            
            例如:
                \Bhos\B
                
        字符类([])
            
            正则表达式是区分大小写的,如果要忽略大小写可使用
            
            方括号表达式”[]“。只要匹配字符出现在方括号内,即可表示
            
            匹配成功。但是一个方括号只能匹配一个字符
            
                例如:
                    要匹配tm不区分大小写,那么应写成:
                    
                    [Tt][Mm]
                    
        选择字符(|)
            
            还有一种方法可以实现上面的匹配模式,就是使用选择字符(|)
            
                上面的例子可以写成[T|t][M|m]
                
        连接符(-)
        
            连字符可以表示字符的范围,如所有26位大小写字母可以表示成
            
            [a-zA-Z]
            
        排除字符([^])
        
            如排除上例所有字母
            
                [^a-zA-Z]
                
            该匹配的就是不以字母和下划线开头的变量名。
            
        限定符(?*+{n,m})
        
            当Google搜索只有一页时,不显示google标志,只有大于
            
            等于2是才显示google。说明字母o最少为两个,最多为20个
            
            那么正则表达式为:
            
                go{2,20}gle
                
        点好字符(.)
        
            如果遇到这样的题:写出一个5-10个以s开头,t结尾的单词,这是有
            
            很大难度的。如果题目并不告知第一个字母,而是中间任意一个
            
            难度会更大。
            
            在正则表达式中可以通过点字符来实现这样的匹配、(.)点字符可以
            
            匹配出换行符以外的任意一个字符。注意:是除了换行以外的任意字符
            
            。如匹配一S开头,t结尾,中间包含一个字母的单词格式如下:
            
                ^s.t$
                
            再举一个例子,匹配一个单词,它的第一个字母为r,第3个字母为s
            
            最后一个字母为t 能匹配该单词的正则表达式为:
                ^r.s.*t$
                
        转义字符(\)
        
            正则表达式中的转义字符(\)和php中的大同小异,都是将特殊字符(如“.”、“?”、“\”等)
            变为普通的字符。
            
        反斜线(\)
            
            除了可以做转义字符以外,反斜线还有其他一些功能
            
        括号字符(())
        
        反向引用
            反向引用,就是依靠子表达式的“记忆”功能来陪陪连续出现的
            字符串货字母。如匹配连雪的两个it,首先将单词it作为分组,然后
            在后面加上“\1”即可。格式为:
            (it)\1
            这是最简单的引用格式。如果要匹配的字串不固定,那么就将括号内的
            字串写成一个正则表达式。如果使用了多个分组,那么可以用“\1”、“\2”来表示每个分组
            (顺序是从左到右)如:
            ([a-z])([A-Z])\1\2
*/
?>

 

本文转载自:http://www.cnblogs.com/wobeinianqing/p/4642458.html

上一篇: cookie
我辈年轻1
粉丝 1
博文 85
码字总数 0
作品 0
南京
程序员
私信 提问

暂无文章

哈希

第一个只出现一次的字符的位置

Garphy
29分钟前
21
0
Centos7.7之离线安装kubectl

Centos7.7,kubernates-1.13.5. 我的Centos7.7上已经安装了kubernates 1.13.5,但是没有kubectl命令,手动安装 浏览器中访问https://storage.googleapis.com/kubernetes-release/release/sta......

克虏伯
31分钟前
23
0
redis原理及应用

一、redis来源 二、数据类型 三、主流的应用场景 四、特性 五、补充 一、 redis来源 redis作者:Salvatore Sanfilippo (antirez),男,意大利人. 需求:一个访客信息追踪网站,网站可以通过...

天子剑毅
39分钟前
35
0
12_多线程

12_多线程 wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器(释放锁)。 notify():一旦执行此方法,就会唤醒被wait的一个线程。如果有多个线程被wait,就唤醒优先级高的那个...

行者终成事
44分钟前
36
0
图片的切换功能

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { margin: 0; padding: 0; ......

zhengzhixiang
今天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部