RegularExpression
をテンプレートにして作成
LECTURE
担当科目一覧
コンピュータ概論/2024
データサイエンス/2024
3DCG演習/2024
情報デザイン研究/2024
卒業研究/2024
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*正規表現
Regular Expression
~
正規表現(Regular Expression)とは、文字列中の「パターン...
~
**正規表現の基本
正規表現によるパターンは''「通常の文字(リテラル)」''と'...
~
***リテラル
abc、12345、日本語 ・・・ など通常の文字列
~
***メタ文字
. ^ $ [ ] * + ? {n,m} | ( )
~
***正規表現の例
-「九州」で始まる文字列
^九州.*
-「である。」で終わる文字列
.*である。$
-「〇〇cm」の形で書かれた数値
[0-9]+cm
~
~
**正規表現の事例
***任意の1文字:.
-パターン
....は600円
-マッチする文字列
ラーメンは600円。
焼肉定食は600円です。
~
***行頭の文字列を指定:^
-パターン
^緊急
-マッチする文字列
緊急電話, 緊急対策会議
~
***行末の文字列を指定:$
-パターン
ある。$
-マッチする文字列
・・・である。, ・・がそこにある。
~
***指定文字のいずれか:[ ]
-例1
--パターン
明日は[晴曇雨]です。
--マッチする文字列
明日は晴です。, 明日は曇です。, 明日は雨です。
-例2:アルファベット大文字がそこに含まれる
--パターン
A[A-Z]CDEFG
--マッチする文字列
AACDEFG, ABCDEFG, ・・・, AZCDEFG
-例3:アルファベット大文字以外がそこに含まれる
--パターン
A[^A-Z]CDEFG
--マッチする文字列
A0CDEFG, AnCDEFG, A+CDEFG など
~
***直前の文字の0回以上の繰り返し: *
直前の文字がないか、直前の文字が1個以上連続する場合に合致
-パターン
わー*い
-マッチする文字列
わい, わーーい, わーーーーい
-参考
.*
なんでもあり・・となります。正規表現の最後に .* が来た場...
~
***直前の文字の1回以上の繰り返し: +
上記 * と基本的に同じですが、少なくとも1個は + の直前の...
-パターン
わー+い
-マッチする文字列
わーい, わーーい, わーーーーい
~
***直前の文字の0回か、1回の繰り返し: ?
直前の文字がないか1つだけあるという意味です。 これ結構使...
-例1
--パターン
わー?い
--マッチする文字列
わい, わーい
-例2
--パターン
090-?1234-?5678
--マッチする文字列
09012345678 , 090-1234-5678 , 090-12345678 , 0901234-...
-例3
--パターン
jpe?g
--マッチする文字列
jpg , jpeg
~
***直前の文字の繰り返しの回数の指定( {n,m} )
-パターン
OK!{1,6}
-マッチする文字列
OK!
OK!!
OK!!!!!!
~
***論理和(または): |
-パターン
(醤油|味噌|塩|豚骨)ラーメン
-マッチする文字列
醤油ラーメン, 味噌ラーメン, 塩ラーメン, 豚骨ラーメン,
~
***サブパターン:()
カッコ内のパターンにマッチした文字列を後方参照
-例1
--パターン
今日は(5時|深夜)に帰宅します
--マッチする文字列
今日は5時に帰宅します, 今日は深夜に帰宅します
-例2
--パターン
(じゃ)+ーん
--マッチする文字列
じゃーん, じゃじゃーん, ・・ , じゃじゃじゃじゃーん
~
~
**特殊な記号
***エスケープシーケンスについて
正規表現においてメタ文字(特別な意味を持つ記号そのもの)...
メタ文字の直前にバックスラッシュを配置することで、直後の...
-パターン
example\.com
-マッチする文字列
example.com
//***参考:デリミタのエスケープ
//デリミタ(後述)をリテラルとして照合する場合にも、その...
//-パターン
// https?:\/\/example\.com
//-マッチする文字列
// https://example.com
// http://example.com
~
***デリミタについて
デリミタ(Delimiter)とは、実際のプログラミング等において...
-JavaScript|match() 関数など
JavaScriptでは、デリミタに [ / ] を使います(以下、例)。
let pattern = /ab+c/ ;
以下のようにして生成することも可能です。
let pattern = new RegExp('ab+c');
-PHP|preg_match() 関数など
英数字、バックスラッシュなど、空白文字以外の任意の文字を...
/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%
括弧をデリミタを使うことも可能です。 ( )、 { }、[ ] ま...
~
***デリミタの使い分け
例えば URL など、パターン内にメタ文字である [ /(スラッシ...
-デリミタに [ / ] を使った場合、パターンに含まれる [ / ] ...
$ptn = '/\/images\/sample.jpg/';
&small( [ \ ] は、Macの場合 [ option ] + [ ¥ ] で表示され...
-デリミタに#を使えば、スラッシュのエスケープが不要になり...
$ptn = '#/images/sample.jpg#';
~
~
**APPEDIX
***正規表現チェッカー
記述したパターンで、正しく対象を照合できるかチェックでき...
-http://okumocchi.jp/php/re.php
対応言語:PHP, Javascirpt
-https://www.debuggex.com/
対応言語:PHP, Javascirpt, Python
~
***正規表現サンプル集
-https://www.megasoft.co.jp/mifes/seiki/meta.html (メタ...
-https://www.megasoft.co.jp/mifes/seiki/(検索サンプル)
-https://www.megasoft.co.jp/mifes/seiki/index_r1.html(置...
~
~
終了行:
*正規表現
Regular Expression
~
正規表現(Regular Expression)とは、文字列中の「パターン...
~
**正規表現の基本
正規表現によるパターンは''「通常の文字(リテラル)」''と'...
~
***リテラル
abc、12345、日本語 ・・・ など通常の文字列
~
***メタ文字
. ^ $ [ ] * + ? {n,m} | ( )
~
***正規表現の例
-「九州」で始まる文字列
^九州.*
-「である。」で終わる文字列
.*である。$
-「〇〇cm」の形で書かれた数値
[0-9]+cm
~
~
**正規表現の事例
***任意の1文字:.
-パターン
....は600円
-マッチする文字列
ラーメンは600円。
焼肉定食は600円です。
~
***行頭の文字列を指定:^
-パターン
^緊急
-マッチする文字列
緊急電話, 緊急対策会議
~
***行末の文字列を指定:$
-パターン
ある。$
-マッチする文字列
・・・である。, ・・がそこにある。
~
***指定文字のいずれか:[ ]
-例1
--パターン
明日は[晴曇雨]です。
--マッチする文字列
明日は晴です。, 明日は曇です。, 明日は雨です。
-例2:アルファベット大文字がそこに含まれる
--パターン
A[A-Z]CDEFG
--マッチする文字列
AACDEFG, ABCDEFG, ・・・, AZCDEFG
-例3:アルファベット大文字以外がそこに含まれる
--パターン
A[^A-Z]CDEFG
--マッチする文字列
A0CDEFG, AnCDEFG, A+CDEFG など
~
***直前の文字の0回以上の繰り返し: *
直前の文字がないか、直前の文字が1個以上連続する場合に合致
-パターン
わー*い
-マッチする文字列
わい, わーーい, わーーーーい
-参考
.*
なんでもあり・・となります。正規表現の最後に .* が来た場...
~
***直前の文字の1回以上の繰り返し: +
上記 * と基本的に同じですが、少なくとも1個は + の直前の...
-パターン
わー+い
-マッチする文字列
わーい, わーーい, わーーーーい
~
***直前の文字の0回か、1回の繰り返し: ?
直前の文字がないか1つだけあるという意味です。 これ結構使...
-例1
--パターン
わー?い
--マッチする文字列
わい, わーい
-例2
--パターン
090-?1234-?5678
--マッチする文字列
09012345678 , 090-1234-5678 , 090-12345678 , 0901234-...
-例3
--パターン
jpe?g
--マッチする文字列
jpg , jpeg
~
***直前の文字の繰り返しの回数の指定( {n,m} )
-パターン
OK!{1,6}
-マッチする文字列
OK!
OK!!
OK!!!!!!
~
***論理和(または): |
-パターン
(醤油|味噌|塩|豚骨)ラーメン
-マッチする文字列
醤油ラーメン, 味噌ラーメン, 塩ラーメン, 豚骨ラーメン,
~
***サブパターン:()
カッコ内のパターンにマッチした文字列を後方参照
-例1
--パターン
今日は(5時|深夜)に帰宅します
--マッチする文字列
今日は5時に帰宅します, 今日は深夜に帰宅します
-例2
--パターン
(じゃ)+ーん
--マッチする文字列
じゃーん, じゃじゃーん, ・・ , じゃじゃじゃじゃーん
~
~
**特殊な記号
***エスケープシーケンスについて
正規表現においてメタ文字(特別な意味を持つ記号そのもの)...
メタ文字の直前にバックスラッシュを配置することで、直後の...
-パターン
example\.com
-マッチする文字列
example.com
//***参考:デリミタのエスケープ
//デリミタ(後述)をリテラルとして照合する場合にも、その...
//-パターン
// https?:\/\/example\.com
//-マッチする文字列
// https://example.com
// http://example.com
~
***デリミタについて
デリミタ(Delimiter)とは、実際のプログラミング等において...
-JavaScript|match() 関数など
JavaScriptでは、デリミタに [ / ] を使います(以下、例)。
let pattern = /ab+c/ ;
以下のようにして生成することも可能です。
let pattern = new RegExp('ab+c');
-PHP|preg_match() 関数など
英数字、バックスラッシュなど、空白文字以外の任意の文字を...
/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%
括弧をデリミタを使うことも可能です。 ( )、 { }、[ ] ま...
~
***デリミタの使い分け
例えば URL など、パターン内にメタ文字である [ /(スラッシ...
-デリミタに [ / ] を使った場合、パターンに含まれる [ / ] ...
$ptn = '/\/images\/sample.jpg/';
&small( [ \ ] は、Macの場合 [ option ] + [ ¥ ] で表示され...
-デリミタに#を使えば、スラッシュのエスケープが不要になり...
$ptn = '#/images/sample.jpg#';
~
~
**APPEDIX
***正規表現チェッカー
記述したパターンで、正しく対象を照合できるかチェックでき...
-http://okumocchi.jp/php/re.php
対応言語:PHP, Javascirpt
-https://www.debuggex.com/
対応言語:PHP, Javascirpt, Python
~
***正規表現サンプル集
-https://www.megasoft.co.jp/mifes/seiki/meta.html (メタ...
-https://www.megasoft.co.jp/mifes/seiki/(検索サンプル)
-https://www.megasoft.co.jp/mifes/seiki/index_r1.html(置...
~
~
ページ名: