PHP 正则表达式 (preg_match)
来源:互联网 发布:手机一键装windows系统 编辑:程序博客网 时间:2024/05/16 07:32
正規表現をまとめてみる。
preg_match で使われる正規表現の書き方の前に
まずは、
<検索対象文字列が1行か?それとも複数行か?>
文字列の中からパターンに合致する部分を探し出す場合、その文字列が1行(改行文字が1つ)なのか、複数行(改行文字が複数)なのかで、マッチ演算子を適切に指定。
preg_match("/パターン/", 調べる文字列);
"/パターン/" //文字列の1行目のみを調べる
"/パターン/g" //複数行を調べる
"/パターン/s" //改行文字を無視し、1行とみなして調べる
ついでに、
"/パターン/i" //文字列の大文字・小文字を区別しない
"/パターン/is" //大文字・小文字を区別せず、1行とみなして調べる
<基本>
preg_match は、文字列中に現れた最初のパターンのみを検出。
■文字・文字列
・「a」 にマッチ
preg_match("/a/", $string);
・「ab」 にマッチ
preg_match("/ab/", $string);
■先頭・末尾
・の先頭の 「a」 にマッチ
preg_match("/^a/", $string);
・行の末尾の 「a」 にマッチ
preg_match("/a$/", $string);
・行の先頭の 「a」 にマッチ(改行文字が現れる度に次の文字を調べる)
preg_match("/^a/g", $string);
・行が 「abcde」 にマッチ
preg_match("/^abcde$/", $string);
・文字列の先頭の 「a」 にマッチ
preg_match("/$Aa/", $string);
・文字列の末尾の 「a」 にマッチ
preg_match("/a$Z/", $string);
■繰り返し
・0個以上の 「a」
preg_match("/a*/", $string);
・1個以上の 「a」
preg_match("/a+/", $string);
・0個か1個の 「a」
preg_match("/b?/", $string);
・「a」に続いて、0個以上の 「b」
preg_match("/ab*/", $string);
・「a」に続く0個以上の 「b」で、最も短かいもの
preg_match("/ab*/", $string);
・1個から3個続きの「a」
preg_match("/a{1,3}/", $string);
・3個続きの「a」
preg_match("/a{3}/", $string);
・3個以上の「a」
preg_match("/a{3,}/", $string);
■任意の1文字
・(改行文字を除く)任意の1文字
preg_match("/./", $string);
・(改行文字を含む)任意の1文字
preg_match("/./s", $string);
・「a」 と 「b」 に任意の1文字(改行除)が挟まれている
preg_match("/a.b/", $string);
■[ ] 内の任意の1文字
・「a」 か 「b」 どちらか1文字
preg_match("/[ab]/s", $string);
・「a」 から 「z」 の1文字。アルファベット小文字
preg_match("/[a-b]/s", $string);
・「A」 から 「Z」 の1文字。アルファベット大文字
preg_match("/[A-Z]/s", $string);
・アルファベットの1文字
preg_match("/[a-zA-Z]/s", $string);
・アルファベット以外の1文字
preg_match("/[^a-zA-Z]/s", $string);
■エスケープシーケンス
?t タブ
?n 改行
?w アルファベットとアンダースコア
?W アルファベットとアンダースコア以外
?s 空白文字
?S 空白文字以外
?12 ASCHII文字の8進数表記
?x811 ASCHII文字の16進数表記
preg_match で使われる正規表現の書き方の前に
まずは、
<検索対象文字列が1行か?それとも複数行か?>
文字列の中からパターンに合致する部分を探し出す場合、その文字列が1行(改行文字が1つ)なのか、複数行(改行文字が複数)なのかで、マッチ演算子を適切に指定。
preg_match("/パターン/", 調べる文字列);
"/パターン/" //文字列の1行目のみを調べる
"/パターン/g" //複数行を調べる
"/パターン/s" //改行文字を無視し、1行とみなして調べる
ついでに、
"/パターン/i" //文字列の大文字・小文字を区別しない
"/パターン/is" //大文字・小文字を区別せず、1行とみなして調べる
<基本>
preg_match は、文字列中に現れた最初のパターンのみを検出。
■文字・文字列
・「a」 にマッチ
preg_match("/a/", $string);
・「ab」 にマッチ
preg_match("/ab/", $string);
■先頭・末尾
・の先頭の 「a」 にマッチ
preg_match("/^a/", $string);
・行の末尾の 「a」 にマッチ
preg_match("/a$/", $string);
・行の先頭の 「a」 にマッチ(改行文字が現れる度に次の文字を調べる)
preg_match("/^a/g", $string);
・行が 「abcde」 にマッチ
preg_match("/^abcde$/", $string);
・文字列の先頭の 「a」 にマッチ
preg_match("/$Aa/", $string);
・文字列の末尾の 「a」 にマッチ
preg_match("/a$Z/", $string);
■繰り返し
・0個以上の 「a」
preg_match("/a*/", $string);
・1個以上の 「a」
preg_match("/a+/", $string);
・0個か1個の 「a」
preg_match("/b?/", $string);
・「a」に続いて、0個以上の 「b」
preg_match("/ab*/", $string);
・「a」に続く0個以上の 「b」で、最も短かいもの
preg_match("/ab*/", $string);
・1個から3個続きの「a」
preg_match("/a{1,3}/", $string);
・3個続きの「a」
preg_match("/a{3}/", $string);
・3個以上の「a」
preg_match("/a{3,}/", $string);
■任意の1文字
・(改行文字を除く)任意の1文字
preg_match("/./", $string);
・(改行文字を含む)任意の1文字
preg_match("/./s", $string);
・「a」 と 「b」 に任意の1文字(改行除)が挟まれている
preg_match("/a.b/", $string);
■[ ] 内の任意の1文字
・「a」 か 「b」 どちらか1文字
preg_match("/[ab]/s", $string);
・「a」 から 「z」 の1文字。アルファベット小文字
preg_match("/[a-b]/s", $string);
・「A」 から 「Z」 の1文字。アルファベット大文字
preg_match("/[A-Z]/s", $string);
・アルファベットの1文字
preg_match("/[a-zA-Z]/s", $string);
・アルファベット以外の1文字
preg_match("/[^a-zA-Z]/s", $string);
■エスケープシーケンス
?t タブ
?n 改行
?w アルファベットとアンダースコア
?W アルファベットとアンダースコア以外
?s 空白文字
?S 空白文字以外
?12 ASCHII文字の8進数表記
?x811 ASCHII文字の16進数表記
- PHP 正则表达式 (preg_match)
- PHP正则表达式--preg_match
- PHP preg_match正则表达式详解
- php preg_match 正则表达式 介绍
- PHP preg_match正则表达式详解
- PHP preg_match正则表达式详解
- php preg_match 正则表达式 介绍
- PHP preg_match正则表达式详解
- php正则表达式验证 preg_match
- 【php】正则表达式函数preg_match用法
- PHP preg_match()进行正则表达式匹配
- PHP中preg_match正则表达式的使用
- php 正则表达式匹配(输出是否匹配以及匹配值) preg_match
- 扩大php的正则表达式preg_match的长度限制
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- (PHP)正则表达式-preg_match和preg_match_all()的用法
- PHP中使用正则表达式详解 preg_match() preg_replace() preg_matchall()
- PHP 正则表达式匹配 preg_match 与 preg_match_all 函数
- javascript实现划词标记划词搜索功能修正版,兼容IE及FF
- 不知道这些你就等于没有学过英语
- 二级联动
- 解决FF中JS的时间错误
- linux 线程学习(二)属性设置
- PHP 正则表达式 (preg_match)
- Android 启动init.rc 中mount 分区
- 网页设计中需要注意的WEB安全色谱
- Flex编码随笔
- Linux 进程地址空间1_数据结构和接口
- cetia4 1.1文档-2.9 Separating Methods by Request Type
- .NET委托:一个C#睡前故事
- MSFlexGrid控件属性及使用方法
- 初学嵌入式-WinCE