正規表現(Regexp)
REF
http://perldoc/perl.org/perlre.html(Perl REGEP)
meta.文字
\ ^ . $ * ? | ( ) [ ] { }
Perl.固有の.MetaCharacter
\A : 文字列の先頭 ( 行頭ではなく )
\n, s の指定に関係なく 常に文字列の先頭にマッチ
\c : 制御文字にマッチ
\cd == c-d
\G
Global (g) と併用する
前回のマッチが終了した位置にマッチ
\L-\E
\L-\E の間の文字を小文字に変換
\l
\u
次の文字を小(大)文字に変換
\Q-\E
間の文字を 通常文字として扱う
\z
改行の有無に関係なく 文字列の末尾にマッチ
\Z
文字列の末尾にマッチ
改行で終わるときは, 改行の直前にマッチ
(#?comment)
Comment を記述 ( 無視される )
(?:REGEXP)
後方参照が不要な場合の Group 指定
Text 保存の Overhead を避ける
(?>REGEXP)
マッチした部分を Backtrack しない
( Backtrack をしなくてもマッチできるならこれを利用する )
繰り返しを指定した場合に
(?i) (?m) (?s) (?x)
PATTERN Modifier を REGEXP に埋め込む
(?i)regex
量指定子
* : >= 0
+ : >= 1
? : (0|1) 回以上
{n} : n 回
{n,} :>= n 回以上
{n,m}:n 回以上 m回以下
特殊
\s : 空白
\S : 空白以外
\d : Digit ( 数字 )
\w : Word ( 文字 )
関数
SYNTAX
pos()
DESC
m//g が前回マッチした Offset をかえす
SYNTAX
quotemeta()
DESC
MetaCharacter にすべての \ をつける
SYNTAX
split()
DESC
PATTERN にマッチした区切り文字で 文字列を分解
SYNTAX
study()
DESC
PATTERN マッチする 文字列の内容を予習する
SYNTAX
grep()
DESC
LIST の中からマッチした要素をかえす