Maison > développement back-end > tutoriel php > 一句正则不懂

一句正则不懂

WBOY
Libérer: 2016-06-06 20:48:05
original
1187 Les gens l'ont consulté

<code>preg_match_all("#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\</code>
Copier après la connexion
Copier après la connexion

这个正则中的|\s|()代表什么意思?有人知道吗

回复内容:

<code>preg_match_all("#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\</code>
Copier après la connexion
Copier après la connexion

这个正则中的|\s|()代表什么意思?有人知道吗

我把每一部分都解释给题主吧。

<code class="lang-regexp">#(^|\s|\()((http(s?)://)|(www\.))(\w+[^\s\)\</code>
Copier après la connexion

两边的 # 是 PCRE 分隔符,最后一个 i 表示忽略大小写。

<code class="lang-regexp">(^|\s|\()
</code>
Copier après la connexion

字符串开头,或者有空格分隔,或者匹配一个左括号。这个部分是一个未命名分组。

<code class="lang-regexp">((http(s?)://)|(www\.))
</code>
Copier après la connexion

匹配 http:// 或者 https:// 或者 www. 。这个部分是一个未命名分组,其中又分成两个未命名分组。

<code class="lang-regexp">(\w+[^\s\)\</code>
Copier après la connexion

匹配至少一个字母数字,之后再匹配至少一个不是空格、右括号、左尖括号的字符。这里又是一个未命名分组。

结束。

推荐两个debug正则的站点:

  • debuggex 界面凑合,功能强大,支持多种语言的正则
  • regexper 比较好看,只支持javascript的正则
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal