- 作成者投稿
- 2006年12月14日 7:49 pm #3886yapiメンバー
はじめまして。
いつもEmEditorを楽しく使わせていただいております。
早速ですがお知恵を拝借したいと思っております。PHPの開発で使用させていただいているのですが、
色分け設定をカスタマイズしたいと考えております。
(構文ファイルを自作したいと思っております。)変数「$(数値or英数字or_)」は、青色。
ただし、「$_POST」「$_GET」「$_COOKIE」は、赤といった様に、
例外を設定したいと思っております。変数をHITさせるために以下のように書くと
すべて変数がヒットしますが、
ここから、例外をどうやって書くのが良いのかわかりません。
$[a-zA-Z0-9_]+そもそも論として、PHPの構文ファイルを作成されている方がいるとか、
正規表現のフォーラムではなく、その他のフォーラムが良い場合は、
教えていただければ幸いです。よろしくお願いします。
2006年12月15日 1:36 am #3887FLONT参加者yapi様
例外という解釈ではないですが、
(?!$_(POST|GET|COOKIE)b)$w+
これで大丈夫かと思います。※ちなみに、「(?!$_(POST|GET|COOKIE)b)」は
「$_POST」と「$_GET」と「$_COOKIE」で
始まらないという意味の正規表現です。参考になれば幸いです。
2006年12月17日 2:41 pm #3889yapiメンバーお返事が遅くなって申し訳ありません。
非常に助かりました!
最終的には、以下のように設定しました。
(?!$_(SERVER|GET|POST|COOKIE|FILES|ENV|REQUEST|SESSION)b)$w+ありがとうございました!
余談ですが、
構文ファイルの書式の長さに限界があるようで、
これに、$GLOBALSと$thisも対象外にしようとしたら
切れてしまいました。
これは、また、構文ファイルの事として、要望で上げてみようと思います。(?!$((_(SERVER|GET|POST|COOKIE|FILES|ENV|REQUEST|SESSION))|GLOBALS|THIS)b)$w+
2006年12月18日 12:08 am #3890FLONT参加者yapiさんは書きました:
余談ですが、
構文ファイルの書式の長さに限界があるようで、
これに、$GLOBALSと$thisも対象外にしようとしたら
切れてしまいました。
これは、また、構文ファイルの事として、要望で上げてみようと思います。(?!$((_(SERVER|GET|POST|COOKIE|FILES|ENV|REQUEST|SESSION))|GLOBALS|THIS)b)$w+
そうですね、いっぺんに書ければ非常に楽ですし、
すっきりもしますからね。
一応以下のようにすれば回避できますので、
要望が通るまでの一時的にでも使ってみてください。先頭にアンダーバーあり:(?!$_(SERVER|GET|POST|COOKIE|FILES|ENV|REQUEST|SESSION)b)$_w+
先頭にアンダーバーなし:(?!$(GLOBALS|THIS)b)$[lud]w+それでは。
2006年12月19日 7:58 pm #3896yapiメンバーFLONTさんは書きました:
先頭にアンダーバーあり:(?!$_(SERVER|GET|POST|COOKIE|FILES|ENV|REQUEST|SESSION)b)$_w+
先頭にアンダーバーなし:(?!$(GLOBALS|THIS)b)$[lud]w+なるほど、確かに、こういう分け方だと出来ますね!
さっそく、使わせていただきました。
ありがとうございます。正規表現と言うものは面白いですね。
今後も色々と考えてみようと思います。特に、以下(ヒアドキュメント)のような、「<<<」+「任意の英数字やアンダースコア」から始まり、
上記任意の英数字やアンダースコアで終わる部分の
色付けにチャレンジしてみようと思います。もちろん、本家でサポートしていただけると嬉しい限りですが。
要望は既に上がってるようですね。【ヒアドキュメント例】
$str = <<<EOT
hoge
hoge2
EOT; - 作成者投稿
- このトピックに返信するにはログインしてください。