気の向くままに辿るIT/ICT/IoT
Perl

Perl 特殊なエスケープ文字 / Special Escapes

ホーム前へ次へ
Perlの特殊なエスケープ文字とは?

Perl 特殊なエスケープ文字 / Special Escapes

Perl 正規表現/パターンマッチ・パターンマッチング

正規表現 / Regular Expression

パターンマッチング / Pattern Match / Pattern Matching

演算子 / Operators

修飾子 / Modifiers

量指定子 / Quantifiers

メタ文字/メタキャラクタ / Metacharacters

エスケープシーケンス / Escape sequences

文字クラス / Character Classes

特殊なエスケープ文字 / Special Escapes

...etc.

Perl 特殊なエスケープ文字 / Special Escapes

 既存のエスケープシーケンスとは別にPerlには実質文字クラスに相当する略記となるエスケープ文字、または別途、特別な意味を持つバックスラッシュ(代替記号¥)に続けて基本アルファベット1文字から成る特殊な文字があります。

 特にセパレータが既定のスラッシュの際には省略可能なm演算子によるパターンマッチ検索やy演算子、s演算子といった置換演算子を利用する際には、入力の手間を省くことができると共にソースコードの可読性を高め、ひいてはバグを極力抑制するコードを書くことにつながり有用です。

Perlの特殊なエスケープ文字
\wアルファベット構成文字とアンダースコア、その他接続句読点文字、Unicodeマークにマッチ
\W\w以外にマッチ
\sホワイトスペース/タブや空白文字(半角スペース)にマッチ
\S\s以外にマッチ
\d0から9で構成される十進数値にマッチ
\D\d以外にマッチ
\p名前付きプロパティ
preserve
\pP Unicodeプロパティを与えられているPにマッチ(一文字)
\p{Prop} Unicodeプロパティを与えられているPropにマッチ(複数文字)
\P名前付きプロパティ
\PP Unicodeプロパティを持たないPにマッチ(一文字)
\P{Prop} Unicodeプロパティを持たないPropマッチ(複数文字)
\XUnicodeにマッチ
eXtended grapheme clusterのX
拡張書記素群(言語における記法の最小単位)
\CC言語のchar型(1オクテット=8ビット)にマッチ
仮にutf-8で書かれた文字列の一部であってもマッチ
但し、その場合、結果としてutf-8文字がバイトに分割されてしまい、utf-8としては不正な形式となってしまうが、この点に関する後方サポートはないので要注意
\1...\9後方参照/バックリファレンス
特定のグループや前のグループへの参照
パターンの前から順次参照
UNIXsedユーザーの為に便宜的に仕様化されたもので推奨は同等の$1...$9
\g1...\g9後方参照/バックリファレンス
特定のキャプチャグループやバッファへの参照
パターンの前から順次参照
\g{-9}...\g{-1}後方参照/バックリファレンス
特定のキャプチャグループやバッファへの参照
パターンの後ろから順次参照
\g{name}名前付き後方参照
\k<name>名前付き後方参照
\K\Kの左側の文字列を保持、それらの文字列は$& (マッチしたパターン) には含まれない
\N{NAME}
\N{U+hex}
**実験段階の特殊文字
 使い方として\N{NAME}と\N{U+hex}がある
 \N{NAME}はNAMEという名の文字または文字列にマッチ
 \N{U+hex}はUnicodeコードポイントが16進数表記にマッチ
 何れでもないケースは、全て \n にマッチ
 s 修飾子による影響は受けない
\v垂直ホワイトスペース(半角空白やタブ)にマッチ
\V\v以外にマッチ
\h水平ホワイトスペースにマッチ
\H\h以外にマッチ
\R改行(Linebreak)にマッチ
特殊エスケープ文字と文字クラスの対比例
特殊escape文字クラス意味
\w[a-zA-Z0-9_]単語の構成文字にマッチ
\W[^a-zA-Z0-9_]単語の構成文字以外にマッチ
\s[ \r\t\n\f]空白文字(スペース・復帰文字・タブ・改行文字・ラインフィード)にマッチ
\S[^ \r\t\n\f]空白文字以外にマッチ
\d[0-9]数字にマッチ
\D[^0-9]数字以外にマッチ

ホーム前へ次へ