アーカイブ

‘秀丸’ タグのついている投稿

「同じ文字が2個並んだ文字列」の正規表現

2011 年 5 月 23 日 コメントはありません

「book」の「oo」のように文字の繰り返しを見付ける正規表現について調べました。

JavaScriptの場合

まず/.{2}/という表現を思い付きますが、これでは「同じ文字が2個並んだ文字列」になりません。単に「文字が2個並んだ文字列」です。1個目と2個目の文字が異なってもよいからです。
そこで次のようにします。

str="book";
ret=str.match(/(.)\1/g);

「oo」が返されます(正確にはret[0]として)。
JavaScriptの正規表現では「\1」を使うと括弧に挟まれた部分を取得できます。
/(.)/とすると任意の1文字が取得でき、\1に格納されます。
/(.)\1/とすると/\1\1/のように「同じ文字が2個並んだ文字列」を探すことになります。

秀丸の場合

検索文字列として「(.)\1」を指定します。
もちろん正規表現にチェックを入れます。
もし「同じ文字が2個以上並んだ文字列」を検索するならば「(.)\1+」とするとよいでしょう。

カテゴリー: JavaScript タグ: , ,

秀丸マクロでmenu、menuarrayを使うときはresultに注意

2010 年 10 月 13 日 コメントはありません

秀丸でマクロを作っていて少し引っ掛かった部分があったのでメモしておきます。

秀丸でリストボックスを作るときはmenuやmenuarrayを使います。
例えば次のように書いたとします。

menuarray $words,10;
if(result==0)endmacro;
insert $words[result-1];

選択した文字列を挿入するというマクロですがこれだと正しく動きません。
リストが出た状態でEscキーなどを押してキャンセルする場合を想定して「if(result==0)endmacro;」の行があります。
キャンセルされた場合はresultに「0」がセットされるので、この場合はマクロを終了させます。
終了しない場合は次の行に処理が移るのですが、この段階ではresult=1(成功)となってしまうようです。
したがって、$wordsという配列変数では常に[0]が引かれるため、意図した通りになりません。

menuarray $words,10;
#temp=result;
if(#temp==0)endmacro;
insert $words[#temp-1];

このように一度、変数に取り込むとよいです。

カテゴリー: デジタル タグ:

IE6でソースを表示するエディタを変える方法

2009 年 10 月 26 日 コメントはありません

インターネットエクスプローラのソースは、通常はメモ帳で表示されますが、SHIFT-JISにしか対応していないらしく、これ以外は文字化けすることがあります。
私は秀丸エディタをソースを見るためのエディタとして使っていたのですが、プログラムの保存場所を変えたところ、エラーになり、メモ帳で開くようになってしまいました。

ソースを見るためのエディタはレジストリエディタで変更することができます。
手順は次の通りです。※WindowsXP+IE6

  1. スタート-ファイル名を指定して実行をクリック。
  2. 名前に「regedit」と入力してOKをクリック。レジストリエディタが起動。
  3. 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name」を選択。
  4. 「(既定)」を選択して、編集-修正をクリック。
  5. 「値のデータ」に使いたいエディタのパスを入力してOKをクリック。
カテゴリー: デジタル タグ: , , ,

IE8でソースを表示するエディタを変える方法

2009 年 2 月 3 日 コメント 4 件

私はブラウザのソースは秀丸エディタで表示するようにしています。
しかし、InternetExplorer8にバージョンアップしたところ、ソースが専用のビューアで表示されるようになりました。
今まではメニューのツール-インターネットオプション-プログラム-HTMLエディターでプログラムを選べたのですが、これが反映されません。

これが正しいか分かりませんが、変える方法を見付けたので書きます。

メニューのツール-開発者ツールを選択し、開発者ツールを起動します。
メニューのファイル-カスタマイズ-その他を選択します。
ここで自分の好きなエディタを指定します。

カテゴリー: デジタル タグ: , , ,