Javaプログラム内の正規表現についての質問
- Javaプログラム内の正規表現についてご質問です。正規表現を使用してヤフーファイナンスの値上がり/値下がり率ランキングを自分仕様に変更するため、正規表現の書き換えが必要です。
- 正規表現はJavaで書かれたプログラム内にあり、理解するのが難しいです。正規表現を翻訳するためのサイトや、正規表現について分かりやすいサイトを知っている方がいらっしゃいましたら、教えていただきたいです。
- また、正規表現に詳しい方にアドバイスやヒントをいただけると幸いです。お手数ですが、よろしくお願いいたします。
- ベストアンサー
Javaプログラム内の正規表現
スパイダーツールという技術(?)をつかって、 (あらかじめプログラミング言語で、使用者の必要な情報のみを検索し、出力してくれるというもの。言語はJavaでできています。) ヤフーファイナンスの値上がり/値下がり率ランキングを自分仕様にして利用しようと考えています。 その場合、Javaプログラム内に正規表現で書かれている部分があって、そこも書き換えが必要のようなんです。 しかし正規表現となると、不得意なJavaよりももっと理解不能! …そこで質問です。 日本語→英文 英文→日本語 と直せる翻訳サイトのように、正規表現も翻訳できるサイトありませんか!? もしくは正規表現について、分かりやすいサイトをご存知の方はご一報をどうぞ宜しくお願い致します。
- 0212125i
- お礼率42% (19/45)
- Java
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
正規表現の比較的わかりやすそうなページを挙げておきます。
関連するQ&A
- 正規表現を変換できる…?
現在Javaをプログラミング中で、正規表現の書き換えも必要となり 苦戦しております。 Javaもさわりたてなので、正規表現も書くとなるとなおさらで… そこで質問なんですが、 1.正規表現を、英語 → 日本語 というような翻訳サイトのように、 翻訳してくれるようなサイトはありませんでしょうか? 2.また、正規表現の書き方や形式について詳しく表記されているサイトがあればご紹介頂けないでしょうか? どうぞ、ご返答よろしくお願いします!
- 締切済み
- Java
- 正規表現: (111)-(222)-(333)
正規表現: (111)-(222)-(333) から (333)を取得したいと考えています。 ()で囲まれた数字のうち、最後のものを取得するというもので、 この、最後のという考えを実装することができずに困っています。 なぜ最後にこだわるかというと、以下のような例があるからです。 ◆ (111)english(222) ◆ (111)日本語(222)日本語 文字列中に含まれる()で囲まれた数字のうち、最後のものを取得する正規表現を教えてください。
- 締切済み
- その他([技術者向] コンピューター)
- |。ってなんですか? 正規表現
正規表現の学習中です。読んでいる本の中に次の式がありました。 (?<=^|。)[^。]+。 日本語の文章の中から一文を抽出するための正規表現です。 。以外の文字がダーッと連なった後に。が来る文字列 とのことです。 [^。]は。以外の文字 +はそれが1個以上ある ですから [^。]+ は 。以外の文字が1個以上ある という意味です。 その後に。が付きますから、 [^。]+。 だけで 。以外の文字がダーッと連なった後に。が来る文字列 ということになります。 では (?<=^|。) の意味は何でしょう。 (?<=なんたら) は後方参照を意味しますから、 ^|。 のすぐ後に [^。]+ が続くと言いたいのでしょうか。 だとすると ^|。 が問題です。 ^もしくは。 という意味なら、^は正規表現で記号として使われている文字ですから、 \^|。 と表現されそうなものです。 それに、。は文末でしか利用されない文字ですから、これに注目して検索を行うというのは理解できますが、^は日本語でなんら特徴を持つ文字ではありません。 ^もしくは。 という理解は間違いでしょう。 それでは^を記号として考えるとして、その前後を[]で囲んでいないから、この^は文字列の先頭を表すのでしょうか。そうすると件の正規表現は 先頭の|。のすぐ後から。以外の文字が連なった後に。が来る文字列 という意味になります。日本語の一文を抽出する正規表現という解説にかなり近づいてはいます。 しかし |。 とは一体何? |はorを意味する記号ですが、 何とか or 。 という意味でしょうか。 でも「何とか」は「何とか」なりに何か文字表現がなされていても良さそうですし、それに 先頭の「何とか」または。のすぐ後から・・・ という解釈は意味不明。 |。 はどのように解釈すべきなのでしょうか。 お手数をお掛けします。
- ベストアンサー
- Perl
- 正規表現で少し複雑な置換がしたい
Javaというよりも、正規表現について質問です。 (一応、言語はJavaで、String#replaceAllを使います) 以下のルールで与えられた文字列の置換を行う正規表現を考えていますが、なかなかうまくいきません。 1.正規表現で \w+:: にマッチする文字列を削除する。 2.ただし、'' (シングルクォーテーション)で囲われている文字列は 1.の対象としない 3.ただし、\' (シングルクォーテーションの前に\があった場合は) シングルクォーテーションと認識しない。 例: 置換前 A * B \'' CCC.DD::EEE' FFF.GGG::HH ' III' 置換後 A * B \'' CCC.DD::EEE' FFF.HH 'III' 色々試してみたのですが、どうしてもうまくいきません。 正規表現が得意な方、教えていただけますでしょうか・・?
- ベストアンサー
- Java
- 秀丸正規表現
日本語の正規表現での置換につまづきまくってます… 正しい指示方法を教えてください。 ※すべて漢字やひらがな、カタカナです。 ※置換したいのはアンダーバーの部分です。 置換したい表現1 ○○○,______××× ○○○,_________××× 置換したい表現2 -○○-_________× -○○-____________× よろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- 正規表現について教えてください。
正規表現について教えてください。 Oracleで開発を行っている者ですが、ネットや本で調べても わからない箇所がありましたので、ここに質問として挙げさせていただきます。 ご教示いただけると幸いです。 現在、下記のようなデータが入ったテーブルがあります。 ---------------------------------------------------------------------------------- ID | SENTENCE | REG_EXP ---------------------------------------------------------------------------------- 1 | <○○○:XXXX> | [^<][^:]+ ---------------------------------------------------------------------------------- 2 | <○○○:XXXX>→<△△△:XXXX> | ---------------------------------------------------------------------------------- 3 | ■■■■■<○○○:XXXX> | ---------------------------------------------------------------------------------- このテーブルを使って、アプリを作っているのですが、 期待動作としては、SENTENCEの列に入っている文字列を REG_EXPの列に入っているデータ(正規表現のパターン)で マッチした文字列を切り取るようにしたいのです。 例えば、IDが1の場合は○○○が切り取られるのが期待動作です。 (注.この動作は、REGEXP_SUBSTR関数を用いてSQLで実行します。) お聞きしたいのは、IDが2の場合は△△△を、IDが3の場合は○○○を、 配列の最初の要素に入れるには、正規表現をどのように記載すればよいのか、ということです。 ○、△、■、Xの部分は英数字、日本語のどれが入るのかはわかりませんが、 <や→、:などの全角記号のフォーマットはこのままになります。。 IDが2の正規表現は[^<:→]+[^<:→]+[^<:→]+ で試してみたのですが、 うまく出来ませんでした・・・。 テーブルの線の調整がうまくできず、 表が見づらくて申し訳ありませんが、 正規表現に詳しい方、ご教示をよろしくお願いいたします。
- 締切済み
- Oracle
- 秀丸の正規表現(1バイト文字,2バイト文字の表現)
「英文-日本文」がセットになったデータがあります。これを英文と日本文の間で切り分けたいと思っています。Perlなどを使えばより簡単かもしれませんが、Perlはあまり知らないので、秀丸の正規表現でやりたいと思っています。そこで、1バイト文字、2バイト文字の表現の仕方が必要になってくると思うのですが、どう書いたらいいのでしょうか。 (参考データ) This is a pen. これはペンです。 を This is a pen. /// これはペンです。 のようにしたいです。
- ベストアンサー
- その他(ソフトウェア)
お礼
…うーむ。よく分かりません。 でももうちょっと、ご紹介頂いたサイトを見て勉強してみます! gimmickさん、ご回答ありがとうございました。