ホームページ php教程 php手册 三分钟学会PHP正则表达式

三分钟学会PHP正则表达式

Jun 13, 2016 am 11:04 AM
php web 動的 学ぶ 開発する はい 通常 使用 書く 脚本 表現 言語 ページ

PHP是编写动态WEB页面开发常用的脚本语言,而正则表达式是PHP中很重要的一个部分,下面我们就PHP正则表达式和大家详细的谈谈吧。在ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器。

但是与ASP或 ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性。用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运行。除了能够精确的控制WEB页面的显示内容之外,用户还可以通过使用PHP发送HTTP报头。用户可以通过PHP设置cookies,管理用户身份识别,并对用户浏览页面进行重定向。PHP具有非常强大的数据库支持功能,能够访问几乎目前所有较为流行的数据库系统。此外,PHP可以与多个外接库集成,为用户提供更多的实用功能,如生成PDF文件等。虽然很多人对PHP正则表达式已经很熟悉了,不过作为重要的基础部分,笔记还是不能免掉的。

PHP正则表达式介绍:

1.中括号

<ol class="dp-xml">
<li class="alt"><span><span>[0-9]匹配0-9  </span></span></li>
<li class=""><span>[a-z]匹配a-z小写字母  </span></li>
<li class="alt"><span>[A-Z]匹配A-Z大写字母  </span></li>
<li class=""><span>[a-zA-Z]匹配所有大小写字母  </span></li>
<li class="alt"><span>可以使用ascii来制定更多 </span></li>
</ol>
ログイン後にコピー

2.量词

<ol class="dp-xml">
<li class="alt"><span><span>p+匹配至少一个含p的字符串  </span></span></li>
<li class=""><span>p*陪陪任何包含0个或多个p的字符串  </span></li>
<li class="alt"><span>p?匹配任何包含0个或一个p的字符串  </span></li>
<li class=""><span>p{2}匹配包含2个p的序列的字符串  </span></li>
<li class="alt"><span>p{2,3}匹配任何包含2个或3个的字符串  </span></li>
<li class=""><span>p$匹配任何以p结尾的字符串  </span></li>
<li class="alt"><span>^p匹配任何以p开头的字符串  </span></li>
<li class=""><span>[^a-zA-Z]匹配任何不包含a-zA-Z的字符串  </span></li>
<li class="alt"><span>p.p匹配任何包含p、接下来是任何字符、再接下来有又是p的字符串  </span></li>
<li class=""><span>^.{2}$匹配任何值包含2个字符的字符串  </span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span></span></font></strong><span>(.*)</span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span></span></font></strong><span>匹配任何被</span><strong><font color="#006699"><span class="tag"><span class="tag-name">b</span><span class="tag">></span><span class="tag"><span class="tag">></span></span></span></font></strong><span>包围的字符串  </span>
</li>
<li class=""><span>p(hp)*匹配任何一个包含p,后面是多个或0个hp的字符串 </span></li>
</ol>
ログイン後にコピー

3.预定义字符范围

<ol class="dp-xml">
<li class="alt"><span><span>[:alpha:]同[a-zA-Z]  </span></span></li>
<li class=""><span>[:alnum:]同[a-zA-Z0-9]  </span></li>
<li class="alt"><span>[:cntrl:]匹配控制字符,比如制表符,反斜杠,退格符  </span></li>
<li class=""><span>[:digit:]同[0-9]  </span></li>
<li class="alt"><span>[:graph:]所有ASCII33~166范围内可以打印的字符  </span></li>
<li class=""><span>[:lower:]同[a-z]  </span></li>
<li class="alt"><span>[:punct:]标点符号  </span></li>
<li class=""><span>[:upper:]同[A-Z]  </span></li>
<li class="alt"><span>[:space:]空白字符,可以是空格、水平制表符、换行、换页、回车  </span></li>
<li class=""><span>[:xdigit:]十六进制符同[a-fA-F0-9] </span></li>
</ol>
ログイン後にコピー

4.ereg语句可以区分大小写来判断,下例

<ol class="dp-xml"><li class="alt"><span><span>if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小写的!"; </span></span></li></ol>
ログイン後にコピー

ereg还可以返回一个数组 例如

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">url</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">"http://www.xuandun.net"</font></span><span>;  </span></span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">a</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">ereg</font></span><span>("^(http://www).([[:alnum:]]+).([[:alnum:]]+)",$url,$regs);  </span>
</li>
<li class="alt">
<span>echo $regs[0],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="">
<span>echo $regs[1],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="alt">
<span>echo $regs[2],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>";  </span>
</li>
<li class="">
<span>echo $regs[3],"</span><strong><font color="#006699"><span class="tag"><span class="tag-name">br</span><span class="tag">></span></span></font></strong><span>"; </span>
</li>
</ol>
ログイン後にコピー

得到

<ol class="dp-xml">
<li class="alt"><span><span>http://www.xuandun.net  </span></span></li>
<li class=""><span>http://www  </span></li>
<li class="alt"><span>xuandun  </span></li>
<li class=""><span>net  </span></li>
</ol>
ログイン後にコピー

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles