正規表現(Regular Expression)のテスト
正規表現テストツール(preg_replace)
正規表現 メタ文字など(PHP)
[abc] | a, b, c いずれかの1文字 |
^ | 行頭 |
[^abc] | a, b, c 以外の1文字 |
$ | 行末 |
. | 改行以外の1文字 |
() | グループ化 |
a|b | a, b いずれかの文字列 |
\ | 直後のメタ文字をエスケープ |
[A-Z] | 大文字のアルファベット1文字 |
* | 直前パターンの0回以上繰り返し(最長一致) |
[0-9] | 数字1文字 |
+ | 直前パターンの1回以上繰り返し(最長一致) |
[a-zA-Z] | アルファベット1文字 |
? | 直前パターンの0~1回繰り返し(最長一致) |
|
*? | 直前パターンの0回以上繰り返し(最短一致) |
\n | 改行 |
+? | 直前パターンの1回以上繰り返し(最短一致) |
\t | タブ |
?? | 直前パターンの0~1回繰り返し(最短一致) |
\s | 空白(半角スペース、\t、\n、\r、\f) |
|
\S | 空白(半角スペース、\t、\n、\r、\f)以外 |
{n} | n回の繰り返し |
\b | 語の区切り位置 |
{n,m} | n回以上、m回以下の繰り返し |
\B | 語の区切り位置以外 |
{n,} | n回以上の繰り返し |
\d | 半角数字 |
|
\D | 半角数字以外 |
|
\w | 半角英数字とアンダースコア |
修飾子(末尾のデリミタの後ろに記述) |
\W | 半角英数字とアンダースコア以外 |
i | 大小文字の違いを無視する |
\l | 半角英小文字 |
s | . を改行文字にもマッチさせる |
\L | 半角英小文字以外(英大文字、数字、全角文字など) |
m | 複数行として処理する |
\u | 半角英大文字 |
u | UTF-8 として扱う |
\U | 半角英大文字以外(英小文字、数字、全角文字など) |
x | エスケープされていない空白文字を無視する |
正規表現のサンプル(PHP preg_replace)
$str = preg_replace('/^*(.*?)*$/u', '$1', $str);
echo $str;
半角+全角空白のトリム |
/^[\s]*(.*?)[\s]*$/u |
$str = preg_replace('/^[\s]*(.*?)[\s]*$/u', '$1', $str);
echo $str;
URL を HTML のリンク形式(<a>タグ)に置換 |
$pattern = '/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/';
$subject = '<a href="\1">\1</a>';
$html = preg_replace($pattern, $subject, $url);
echo $html;
郵便番号 | /^[0-9]{3}-[0-9]{4}$/ |
電話番号 | /^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/ |
URL | /^(https?)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/ |
IPアドレス | /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/ |