preg_match('~^(ftp|news|http|https)?://(.*)$~D', $url, $matches)

疑问

1.正则表达式一般写法 '/正则/'

这个为什么这样写?

2.此正则啥意思?

回复讨论(解决方案)

~没有遇到过,应该和/差不多吧,就是定界符的意思。

^(ftp|news|http|https)?://(.*)$

^字符串开始处开始匹配

(ftp|news|http|https)? 匹配ftp或者news或者http或者https,含有零次或者1次

:// 匹配://

(.*) 匹配任意字符任意次数

$字符串结束

最后的大写字母D:

D (PCRE_DOLLAR_ENDONLY) 如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。

默认的规则串定界符是 /

但你也可以指定其他字符为定界符,以减少特使字符的转义

D 模式用的极少,自己理解吧

D(PCRE_DOLLAR_ENDONLY)

如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前)。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。

这个正则应该是分析一个url列表用到的

列表格式大概是每行一个url并且以换行结尾

如果不使用D只能找到到第一个匹配那行

默认的规则串定界符是 /

但你也可以指定其他字符为定界符,以减少特使字符的转义

D 模式用的极少,自己理解吧

D(PCRE_DOLLAR_ENDONLY)

如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前)。如果设定了 m 修正符则忽略此选项。Perl 中没有与其等价的修正符。

默认的规则串定界符是 /

但你也可以指定其他字符为定界符,以减少特使字符的转义

受教~

http://blog.csdn.net/tigerdsh/article/details/8866456 看了这个你就明白了,详细的解释

首先楼主应该理解preg_match(),它是一种是基于perl语言,使用“preg_”为前缀命名的函数。在这里,其实就是用$url替换$matches里符合~^(ftp|news|http|https)?://(.*)$~D这一个正则的字符串。

~是一个定界符,默认的是/,当然也可以自己定义,前后对应就可以了。

^是开头,$是结尾,|是或,?是出现0次到1次,*是出现1次到多次,.是匹配除 \n 以外的任何字符。D是不匹配任何 0 到 9 之间的单个数字,相当于 [^0-9]。

可以看我的博客:http://blog.csdn.net/wf120355/article/details/8753593

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

正则表达式的含义php,求正则表达式含义相关推荐

  1. linux正则表达式_号称“天书”的正则表达式,要这么来讲,我小学三年级已经满分了

    引言 grep是Linux中用于文件处理的最有用和最强大的命令之一. grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每个匹配的行写入标准输出. 在本文中,我们将探索如何在grep的GNU ...

  2. python正则表达式入门_Python中的正则表达式教程

    本文http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 正则表达式经常被用到,而自己总是记不全,转载一份完整的以备不时之需. 1. ...

  3. php 正则表达式 文档,php的正则表达式完全手册

    php的正则表达式完全手册 更新时间:2011年02月06日 17:12:49   作者: 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这 ...

  4. java 正则表达式 table_JavaEdge/Java/Java中正则表达式.md at master · VegTableBird/JavaEdge · GitHub...

    主要用到的是这两个类 - java.util.regex.Pattern - java.util.regex.Matcher. Pattern对应正则表达式,一个Pattern与一个String对象关 ...

  5. 【超详总结/理解:正则表达式】特点/元字符/正则表达式中的标志位-flag/RegExp/重复操作与后向引用/匹配模式/表达邮箱/正则表达式对象的方法/利用正则表达式限制网页表单里的文本框输入内容

    文章目录 正则表达式: 正则表达式的用途 正则表达式的组成-元字符 正则表达式的特点 正则表达式中的标志位-flag JavaScript中的正则表达式解析 RegExp 定义 RegExp RegE ...

  6. java 匹配url的正则表达式_java匹配url的正则表达式

    展开全部 给你个正则表达式的资料,自己慢慢研究,授你以渔: 一.正则表达式基础知识 我们先从简单的开始.假设你62616964757a686964616fe78988e69d8331333264623 ...

  7. java正则表达式及api_JAVA常用API:正则表达式regular expression

    一.正则表达式的概念 正则表达式,regular expression,在代码中通常简写成regex 正则表达式是一个字符串,使用每单个字符串来描述.定义匹配规则,匹配一系列符合某个语法规则的字符串. ...

  8. mysql触发器可以使用正则表达式_SQL 正则表达式及mybatis中使用正则表达式

    这篇文章主要介绍了SQL 正则表达式及mybatis中使用正则表达式的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 mysql 提供的模式匹配的其他类型是使用扩展正则表达式. 当你对这 ...

  9. java生日正则表达式_Java编程基础15——正则表达式常用工具类

    1_正则表达式的概述和简单使用 A:正则表达式 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. 作用:比如注册邮箱,邮箱有用户名和密码,一般会 ...

最新文章

  1. py文件打包或apk_Python文件打包成exe很简单,如果安卓手机也能运行的软件你会吗...
  2. 挖掘PubMed数据库,获取报道的或推测新的基因调控关系
  3. python collections 模块中的 deque
  4. vue的双向数据绑定的原理
  5. 【浏览器】浏览器模式与文档模式区别
  6. 使用PL/SQL删除百万条记录的大表
  7. java webservice用户验证_java webservice 用户验证 (服务端 + 客户端)
  8. MySQL show processlist
  9. 百度前端技术学院-task1.8源代码以及个人总结
  10. 『Numpy』内存分析_利用共享内存创建数组
  11. ViewFlipper(翻转视图)使用详解
  12. 计算机及编程语言历史概述
  13. Python读写excel练习_去除excel中乱码行,并添加列
  14. python爬取天天基金历史净值_python爬取天天基金网全部基金的历史全部净值
  15. 满腔热诚永不忘,我以我血荐轩辕!
  16. python 悬浮窗_python浮窗
  17. 月薪过万必会的:双亲委托模型
  18. 项目启动报错 Error running ‘xxxApplication‘;Command line is too long,Shoerten command line for........
  19. 【202203-4】通信管理系统
  20. 文件重命名后缀名没法改,教你轻松解决方法

热门文章

  1. jQuery中Map的使用
  2. Oracle12g添加c##scott用户
  3. Android取消EditText自动获取焦点默认行为
  4. java中不同包中怎么实例化,Java 笔试题 (01)
  5. java rect 旋转_处理(Java可视化语言):使用rectMode(CENTER)而不是rectMode(CORNER)旋转矩形,留下奇数衰落轨迹效果...
  6. 常见设计模式—单例模式(Singleton)
  7. 子查询中的空值导致的问题。
  8. html5变动标签新写法,Html5新标签解释及用法
  9. matlab读int16读文件_matlab文件读写.doc.doc
  10. 复制内存时检测到可能的io争用条件_这篇高并发服务模型大科普,内部分享时被老大表扬了...