[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01229] Re: perl の正規表現を xyzzy で。



たけばやし@リムネットさん、こんにちは。

        Tue, 24 Nov 1998 23:03:08 +0900 の
        [xyzzy:01226] perl の正規表現を xyzzy で。
        への返事です.

| if (/^(\w.*)\((.*)\)\s*\{$/ || /^(\w.*)\((.*)\)$/) {
| 上記の正規表現は、perlで書いたときのものなのですが、これを
| xyzzyで実現するにはどのように書いてあげればよいのでしょうか??

んー、他人の書いた正規表現はよー分からん(^^;

  \w  -->  [A-Za-z0-9_]
  \s  -->  [ \t]
  \(  -->  (
  (   -->  \(
  \{  -->  {

なので、

  /^(\w.*)\((.*)\)\s*\{$/  -->  ^\([A-Za-z0-9_].*\)(\(.*\))[ \t]*{$
  /^(\w.*)\((.*)\)$/       -->  ^\([A-Za-z0-9_].*\)(\(.*\))$

だから、

  if (/^(\w.*)\((.*)\)\s*\{$/ || /^(\w.*)\((.*)\)$/)

    -->  ^\([A-Za-z0-9_].*\)(\(.*\))[ \t]*{$\|^\([A-Za-z0-9_].*\)(\(.*\))$

となって、まとめると、

  ^\([A-Za-z0-9_].*\)(\(.*\))\([ \t]*{\)?$

ですね。文字列中に書く場合は `\' を `\\' にしてください。

| それとも関数一覧なんて、すでにあって僕がしらないだけってのも悲しいんです
| が。。

タグファイル作り用なら maketags.l の中にあります。私の場合は

"^[*A-Za-z_][]*&A-Za-z0-9_]*\\([ \t\n\f]*[[*&~:A-Za-z_<][][*&:A-Za-z0-9_,>]*\\)*[ \t\n\f]*("

こんなわけ分からん正規表現であたりをつけてから、てきとーなロジ
ックでてきとーに拾ってきています。

--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx

Index Home