忍者ブログ

2007/03/04開始。ソフトウェア管理やDelerer SEの作者であるおにぎりくんの試行錯誤の記録です。
2025
前の月へ 03 : 123456789101112131415161718192021222324252627282930 : 05 次の月へ
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」を作っています。
仕事でもコンピュータを触っているのに
趣味も同じという。
健康に悪いですね。
カレンダー
03 2025/04 05
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 れい]
アクセス解析