mrのなでしこ学習帳 RSSフィード

2010-01-15

正規表現でマッチするものを全て抽出して配列へ格納

はてなブックマーク - 正規表現でマッチするものを全て抽出して配列へ格納 - mrのなでしこ学習帳

スマートなやり方がわからず。こんなのやり方しか思いつけず。

ターゲット=『b2ab34bbb1cab000』
パターン=『\d+』
結果=「」

オン
  X=ターゲットをパターンで正規表現マッチ
  もし、X≠「」ならば
    結果=結果X改行
    ターゲット=ターゲットのパターンを「」へ正規表現単置換
  違えば
    抜ける

結果を表示

もっとスマートなやり方があったら教えて下さい。

 U D U D 2010/01/16 00:37# こんなのどうでしょ。JScriptの正規表現使えばあっさり。正規表現に","とか"/"とか含んでると上手くいかないかもですが。

ターゲット=『b2ab34bbb1cab000』
パターン=『\d+』

ターゲットをパターンで正規表現マッチ列挙して表示

●正規表現マッチ列挙(AをBで|AがBに)
 『("』&A&『").match(/』&B&『/gm);』をJSCRIPTして`,`で区切る

mr-80bmr-80b2010/01/16 08:59そっか、他言語に投げるという発想は思いつけませんでしたが、それはいい考えですね。なるほど。。

 U D U D 2010/01/16 15:41ライブラリWikiにありましたね: http://www26.atwiki.jp/isoroku_be/pages/44.html
ただ最初のやつは不具合があったみたいで、 catch さんが修正したものをプログラム掲示板とWikiに上げてますね。
# 検証しないと分かりませんが、恐らく JScript エンジン使う方がネイティブで速い…かな?

mr-80bmr-80b2010/01/16 17:13なるほど。しかし、なんだか難しいので細かい理解は断念しました。
JScriptの方が単純でいいですね。