Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial 求正则表达式含义

求正则表达式含义

Jun 23, 2016 pm 02:07 PM

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

6 zusätzliche Fähigkeiten, die jeder PHP -Entwickler haben sollte 6 zusätzliche Fähigkeiten, die jeder PHP -Entwickler haben sollte Feb 28, 2025 am 10:52 AM

6 zusätzliche Fähigkeiten, die jeder PHP -Entwickler haben sollte

Verstehe Arrays in PHP Verstehe Arrays in PHP Feb 28, 2025 am 10:53 AM

Verstehe Arrays in PHP

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

See all articles