忍者ブログ

2007/03/04開始。ソフトウェア管理やDelerer SEの作者であるおにぎりくんの試行錯誤の記録です。
2024
前の月へ 10 : 123456789101112131415161718192021222324252627282930 : 12 次の月へ
12  11  10  9  8  7  6  5  4  3  1 
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

私の使ってるJavaの統合開発環境EclipseにはFindBugsというプラグインが入っています。これは便利で、バグになりそうなあやしいコードには虫マークが付いて、「ここあやしいよ」的な感じで説明までしてくれます。

そして、今日は「このコードで使用されている正規表現は文法が間違っています。この文はPatternSyntaxExceptionのスローを招くでしょう。」という説明がされるあやしいコードが出てきました。コードはこんなんです。

String[] token = s.split("*");

アスタリスクで分けられたデータをString配列に代入したかったのです。しかし、このままコンパイル+実行をすると、大量のエラーがでてきました。

Dangling meta character '*' near index 0

そこで、Googleで検索しました。さすがGoogle、すぐいいサイトが見つかりました。英語ですが。

Developer Forums String Pattern Matching

読んでみると、この人はプラス文字を使おうとして私と同じエラーが発生して困ったらしく、それはプラス文字が正規表現の予約語なので違う意味の正規表現(しかも間違った文法)になってしまっていたからだと分かりました。予約語を使うためには\\を文字の前につければよいみたいです。

String[] token = s.split("\\*");

これでしっかり動きました。

PR
スポンサード・リンク
この記事にコメントする
Name
Title
Color
Mail
URL
Comment
Pass Vodafone絵文字 i-mode絵文字 Ezweb絵文字
フリーソフト指向::開発日記 by LapisCactus
忍者ブログ | [PR]

今日の聖書
自己紹介
名前:
LapisCactus (おにぎりくん)
Twitter:
Mail:
onigirikun_hsp@hotmail.com
自己紹介:
ふつうのしすてむえんじにあ。
趣味で「ソフトウェア管理」や
「TextView」を作っています。
仕事でもコンピュータを触っているのに
趣味も同じという。
健康に悪いですね。
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
最新CM
[03/03 kusakari]
[11/12 おにぎりくん]
[11/08 れい]
アクセス解析