お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
パターンを思い付く都度に更新される予定。
s/(\d{4})-0?(\d{1,2})-0?(\d{1,2}).+/$1-$2-$3/
s/(\d)(?=(\d{3})+(?!\d))/$1,/g
直後に\d{4}でなく、\d{3}のパターンのある\dをキャプチャし、カンマを付与
s/(?<=\$request->.+?)->((?<!\$request->)(?<=->)([a-z_]+))+/['$2']/gi
(?<=\$request->.+?)
はキャプチャされず、この次に->
があるのが前提、->は削除するので先読み・後読み・キャプチャはしない
\$request->
が再度含まれないことを(?<!\$request->)
として条件にする
->
が来るので、それを(?<=->)
として条件付けする([a-z_]+)
でプロパティ名であろうものを指定する->
単体は繰り返し対象外なのに繰り返し適用されているが、この理由はよくわかってない
(?<=\$request->.+?)
の後ろにある->
が全部消えている?// source text
$request->foo
$request->foo;
$request->foo->bar;
$request->foo['bar'];
$request->foo->bar->fb->fBfb;
$arr = [
'bar' => $request->foo->bar
];
if ($request->foo->bar->fb= $request->foo->bar->fb) {
$request->foo->bar->fb = $request->foo->bar->fb;
}
// replaced text
$request->foo
$request->foo;
$request->foo['bar'];
$request->foo['bar'];
$request->foo['bar']['fb']['fBfb'];
$arr = [
'bar' => $request->foo['bar']
];
if ($request->foo['bar']['fb']= $request->foo['bar']['fb']) {
$request->foo['bar']['fb'] = $request->foo['bar']['fb'];
}
s/(?<=\$request->.+?)->((?<!\$request->)(?<=->(?![a-z_]+\(\)))([a-z_]+))+/['$2']/gi
->
の後に来るメソッド構文を除外するために、(?![a-z_]+())
を追加(?<=->(?![a-z_]+()))
とすることで->
の後に来る(?![a-z_]+())
を除外しつつ、->
の後に来る([a-z_]+)
をキャプチャできる// source text
$request->foo
$request->foo;
$request->foo->bar;
$request->foo['bar'];
$request->foo->fooBar();
$request->foo->bar->fooBar();
$arr = [
'bar' => $request->foo->bar
];
if ($request->foo->bar->fb= $request->foo->bar->fb) {
$request->foo->bar->fb = $request->foo->bar->fb;
}
// replaced text
$request->foo
$request->foo;
$request->foo['bar'];
$request->foo['bar'];
$request->foo->fooBar();
$request->foo['bar']->fooBar();
$arr = [
'bar' => $request->foo['bar']
];
if ($request->foo['bar']['fb']= $request->foo['bar']['fb']) {
$request->foo['bar']['fb'] = $request->foo['bar']['fb'];
}