文档章节

一点正则表达式的学习碎片

wddqing
 wddqing
发布于 2013/04/08 21:46
字数 564
阅读 15
收藏 0
1、主要作用:分割、匹配、查找、替换
2、正则表达式最少要包含一个原子。
3、php正则表达式函数:
  • preg_match(mode,string subject,array matches)以perl语言为基础
  • ereg(mode,string subject,array regs)以POSIX基础
4、正则表达式的原子:
  1. a-z A-Z _ 0-9    //最常见的字符
  2. (abc) (skd)        //单元符合,必须完全匹配
  3. [abcs] [^abd]   //原子表,只要出现其中的元素就行,原子表中的^代表排除或相反内容
  4. 转义字符:
    1. \d   包含所有数字[0-9]
    2. \B   除所有数字外[^0-9]
    3. \w   包含所有常见字符[a-zA-Z_0-9]
    4. \W  除所有常见字符外[^a-zA-Z_0-9]
    5. \s    包含空白区域如回车、换行、分页等[\f\n\r]
5、正则表达式元字符:
     * 匹配前一个内容的0次1次或多次
     .  匹配内容的0次1次或多次,但不包括回车换行
     +匹配前一个内容的1次或多次
     ?匹配前一个内容的0次或1次
     | 选择匹配PHP中的|
     ^匹配字符串首部内容
     $匹配字符串尾部内容
     \b匹配单词边界,边界可以是空格或者特殊符合
     \B匹配除带单词边界意外内容
     {m}匹配前一个内容的重复次数为M次
     {m,}匹配前一个内容的重复次数大于等于M次
     {m,n}匹配前一个内容的重复次数M次到N次
     ()合并整体匹配,并放入内存,可以使用\1 \2 ……一次获取

6、运算顺序:
     ()圆括号是内存处理,优先级最高
     * ? + {} 重复匹配内容其次
     ^ $ \b等边界处理第三
     | 条件处理第四

7、模式修正符
     i 正则内容在匹配的时候不区分大小写(默认是区分的)
     m 在匹配首内容或者尾内容时候才用多行识别匹配
     S 将转义回车取消是为单行匹配(将多行视为一行)
     x 忽略正则中的空白
     A 强制从头开始匹配
     D 强制$匹配尾部无任何内容
     U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束

© 著作权归作者所有

wddqing
粉丝 10
博文 25
码字总数 10891
作品 0
广州
程序员
私信 提问
Python 爬虫入门(一)——爬取糗百

爬取糗百内容 GitHub 代码地址https://github.com/injetlee/Python/blob/master/qiubaicrawer.py 微信公众号:【智能制造专栏】,欢迎关注。 本文目标 掌握爬虫的基本概念 Requests 及 Beau...

李英杰同学
2018/07/26
0
0
2015-12-14(日记一)这段时间学习python爬虫

还是遇到了很多问题的,两年前学过html,js都是很片面的东西。 这一年都在学习钻研java,学习java之余还是比较喜欢研究一些比较有意思的东西。 这段时间特别感兴趣的就是python爬虫。 简单的...

开源中国段子手
2015/12/14
86
0
简单好用的时间选择插件My97datepicker

我们经常会需要验证字符串的格式,比如密码长度范围、电子邮件格式、固定电话号码和手机号码格式等,这个时候我们经常会需要用到正则表达式。但是正则表达式用起来性能会低一点,所以在需要验...

潇洒先
2018/12/29
0
0
ruby仿awk处理列

取出文本中的第二列 直接上代码 #!/usr/bin/env ruby encoding: utf-8 filename = ARGV[0]file = File.open(filename) =begin逐列打印=end file.each_line do |line| myline = line.chomp! ......

紫色葡萄
2016/12/20
0
0
在PHP中使用正则表达式进行查找替换

首先需要声明的是,其实我对正则的应用也不是特别地熟练,只不过是在工作中“被逼无奈”才一步步地对正则有了一些了解。随着对正则的了解越多,越来越发现正则表达式真的是一个很强有力的工具...

技术小胖子
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

查看线上日志常用命令

cat 命令(文本输出命令) 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们要输出当前这个日志的前后几行: 显示file文件里匹配nick那行以及上下5行 cat error.log | grep -C ...

xiaolyuh
21分钟前
3
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
28分钟前
3
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
35分钟前
4
0
flutter 剪切板 复制粘贴

复制粘贴功能 import 'package:flutter/services.dart'; Clipboard.setData(ClipboardData(text:_text));Clipboard.getData;...

zdglf
37分钟前
3
0
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费...

米兜
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部