- PR -

正規表現について[ORO]

1
投稿者投稿内容
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2005-03-25 00:40
こんばんわ。
あるキーワード(タグもどき)を正規表現で検索し、
内容を抜き取り、別の値に変換するということをしたいのですが、
どのように実装したらよいのかわかりません。。

やりたいことは
[USER_ID]1000[/USER_ID] のような[USER_ID]*[/USER_ID]の形式を探し出し、
内容の1000を抜き取る。

↓のようにコードを書いたのですが、正規表現が大の苦手なので
どなたかご教授くださいませ。。。

コード:

Perl5Util perl = new Perl5Util();

PatternMatcherInput matcherInput = new PatternMatcherInput(filtered);

while (perl.match("/\\USER_ID\\]*\\[\\/USER_ID\\]/", matcherInput)) {

String matched = perl.toString().replaceAll("\\[USER_ID\\]", "").replaceAll("\\[\\/USER_ID\\]", "");

filtered = filtered.replaceAll(perl.toString(), "USER_ID : " + matched );

}




[ メッセージ編集済み 編集者: raystar 編集日時 2005-03-25 00:41 ]
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-03-25 08:43
java は知らないのですが、perl のPerl5Util が適切な Regex を実装しているのなら、
コード:

while (perl.match("/\\[USER_ID](.*?)\\[\\/USER_ID]/", matcherInput)) {
string content = perl.group(1);
...
}


でいいんじゃないでしょうか。


[ メッセージ編集済み 編集者: にしざき 編集日時 2005-03-25 08:43 ]
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2005-03-25 11:19
にしざきさん、おはようございます。

コピーペーストしたら、見事に期待通りに動きました。
勉強します。。。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)