JavaScriptによる正規表現について質問です。

以前質問した回答の「3」の方法をためしています。(http://www.hatena.ne.jp/1096733615
以前の質問では「名前:鈴木太郎」のように一行ずつだったので
「re = new RegExp(”名前[::](.*) …略」
このようにしましたが、今回の質問は・・・

・・・質問文が長すぎたため、エラーが出てしまいましたので
これから先の文章は別ファイルにします。
申し訳ございません。

http://www.eonet.ne.jp/~pic/test/hatena-20041008.txt
↑質問全文はこちらからお願いします。ご迷惑をおかけします。

このようにしたいのですが、
どのように書けば成功するのでしょうか?
よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/10/08 23:00:29
  • 終了:--

回答(2件)

id:siachan No.1

siachan回答回数80ベストアンサー獲得回数142004/10/09 00:09:08

ポイント40pt

http://www.hatena.ne.jp/1096733615

条件を指定して文章を編集出来るソフトor方法を探しています。 例えば、 ----------------------------------- 名前:鈴木太郎 自己紹介:どーも メール:konna.meruado@ar.. - 人力検索はてな

その前回の物を改造した形です。

function convert()

{

var strTarget;

var re;

var strName;

var strProfile;

var strMail;

var strMailList;

var strURL;

var strLine;

var dstStr = ’’;;

strLine = ”///////////////////////////////////”;

strMailList = strLine + ”¥r¥n¥r¥n”;

document.frmDst.txtDst.value = ””;

strTarget = document.frmSrc.txtSrc.value;

re = new RegExp(”(名前)(.+)¥r¥n(自己紹介)¥r¥n([^((]+)¥r¥n(メール)¥r¥n([^((]+)¥r¥n(URL)¥r¥n(.+)¥r¥n”);

while ( strTarget.match( re ) )

{

strName = RegExp.$1;

strProfile = RegExp.$2;

strMail = RegExp.$3;

strURL = RegExp.$4;

dstStr += strLine + ”¥r¥n” + ”■” + strName + ”■” + ”¥r¥n” + strProfile + strURL + ”¥r¥n”;

strMailList += strMail + ”¥r¥n”;

// strTarget = RegExp.rightContext;

strTarget = strTarget.substring( RegExp.lastIndex );

}

dstStr += strMailList;

document.frmDst.txtDst.value = dstStr;

}

id:au01

ありがとうございます。

2004/10/09 19:15:14
id:andymente No.2

andymente回答回数96ベストアンサー獲得回数02004/10/09 00:30:41

ポイント40pt

id:cx20 さんの回答にあるスクリプトをもとに修正するなら

re = new RegExp("(名前)(.*)\r\n(自己紹介)\r\n((.|\r|\n)*?)\r\n\r\n(メール)\r\n(.*)\r\n(URL)\r\n(.*)\r\n");

で動くと思います。

(一部スマートではないのでもしかしたら他の方の回答の方が好ましいかもしれません。)

上の正規表現を使う場合は

strMail = RegExp.$3;

strURL = RegExp.$4;

という部分を

strMail = RegExp.$4;

strURL = RegExp.$5;

のように数字をひとつずらして下さい。

id:au01

ありがとうございます。

動きました。

2004/10/09 19:22:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません