JScriptの正規表現はお手軽で面白い

最初、JScriptは大文字小文字にうるさいので敬遠していたのだけれど
JScript正規表現はお手軽でかなり使える事を知り、最近はUWSCVBScriptで書いたものを
勉強がてらJScriptに書き直してる。UWSCVBScriptにあるbetweenstrやtrimのようなものが
JScriptにはないようだけれど(知らないだけか?)正規表現を使えばなんとかなるものである。
といっても正規表現もさわりしか知らないので無駄が多いと思われるが。


UWSCのbetweenstr的なものを書いてみた。
2個目の<item> </item>の間にある文字を取り出す。
下記のようにするとキーワードのメタ文字には、エスケープ文字を付けなきゃいけないので少々ややこしいけれど。

var A = "<item>aaa</item><item>bbb</item><item>ccc</item>";
var B = betweenstr(A, "<item>", "<\\\/item>", 2);
WScript.echo(B);

function betweenstr(str, a, b, x) {
    var bws = str.match(eval("/" + a + "(.*?)" + b + "/ig"));
        if (bws.length >= x) {
            return  bws[x - 1].replace(eval("/" + a + "(.*?)" + b + "/i"), "$1");
        }
}


こちらはtrim。
JScriptにはtrimがないので不便だと思っていたけれど、正規表現を使えば結構簡単に実現出来た。

var A = "       aaaaaa  ";
var B = trim(A);
WScript.echo(B);

function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}


こっちは結構前にUWSCで書いた質問一覧のRSS版をチェックする JScriptで書き直してみた。
まだまだ知識不足で無駄が多いと思われるのでUWSCより長くなってしまったけれど
読み込む速度は断然このJScript版のほうが速かった。
1行目がエディタのパス(\を二つ記入しないとエラーになる)

12月11日修正
 コードが変わるのかな?たまに読み込めずエラーになる。(今の私のレベルじゃ対処不能
 しばらくすると読み込めるようになるけれど、以前のファイルの内容がなくなるので
 ファイルを削除しなくてもエラーにならないように修正。
12月12日
 ちょい修正。
12月15日
 演算子の&、|を2個に修正。