• ベストアンサー

正規表現 (?(?:.?)+?)

mrumesukeの回答

  • ベストアンサー
  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.1

$_ =~ s/.*(XXX).*/$1/;

関連するQ&A

  • 正規表現

    正規表現で、eオプションを使ったとき、 1度の解析で、aはAに、bはBに変換したい場合、 $_ = "axzzzbyzzc"; s/(a|b)/ ($1 eq "a") ? "A" : "B" /eg; というのは動作したのですが、 aはA、bはB、cはCと変換したい場合、 $_ = "axzzzbyzzc"; s/(a|b|c)/…/eg; …の部分はどうやって記述すればいいのでしょうか

    • ベストアンサー
    • Perl
  • 正規表現について

    t1t あいうえお t2t かきくけこ t3t さしすせそ という文章があったとして t2tからt3tの直前まで正規表現で抽出したいので、 t2tとそこから「改行+t」以外の文字の連続 を正規表現で表したいと思い t2t[^(\nt)]* としましたがだめでした どなたかご指導ください

  • 正規表現の書き方(座標関係)

    X,Y,Z座標の羅列などを対象にX座標の抽出をやりたいと思っています。 X[-]?\d+(\.\d+)? 一応上記のように作成してみたのですが、 以下のような内容だとヒットしない部分があります。 X-.818 X.626 X19. ちなみに通常は X-38.697Y.996 X-35.041Y16.508 G54G90G00X20.0Y15.0S2270T03 G99G81Z-5.5R2.0F227M08 Y45.0 X70.0Y60.0 X90.0Y45.0 このような羅列のなかで使用する予定です。 (いわゆるGコード) ご存知の方、助言をお願いします。

  • 正規表現でのエラー

    検索システムを作ろうと思っています。テキストファイル(このソースではgreetings.txtです。)の中にある文章をキーボード入力で1文字でもヒットすれば抜き取って表示させたいのですが、以下のソースをコマンドプロンプトで実験したところ「Q、Y,S,M、と記号」で検索すると全ての文章がヒットしてしまいます。他の文字では問題無くヒットするのですが…。perlを始めてばかりでまだまだわからないことだらけです。いちおう本やネットで検索したんですがさっぱりわかりません。どなたかどうかお力を貸していただけませんか? #!C:\Perl\bin\perl $kensaku = <>; $ans = eval $kensaku; open(IN, "greetings.txt"); while ($line = <IN>){ if($line =~ /$ans/i){ print "$line"; } }

    • ベストアンサー
    • Perl
  • 日本語を含む正規表現の置換

    日本語を含む文字列が$word1、$word2 があります。 $word1から"(xxx)"というような半角カッコに囲まれた文字を削除したいです。 $word2からは"(xxx)"というような全角カッコに囲まれた文字を削除したいです。 カッコの中の文字xxx(日本語)は不特定です。 $word1は以下のコードで上手くいきました。 $word1=~ s/\(.*?\)//; しかし$word2が上手くいきません。 基本的なことかもしれませんが、 色々やってみても上手くいかないので、 よろしくお願いします。

    • ベストアンサー
    • Perl
  • この文章の和訳を教えてください。

    In our orbital calculations, the starting points are assigned in the form (see Eq. (7)) x_s=b_s-ecos(t_0-τ_s), y_s=y_0+2esin(t_0-τ_s), ・・・・・・・・・・・(21) z_s=isin(t_0-ω_s), where t_0 is the origin of the time, independent of τ_s and ω_s, and y_0 is the starting distance (in the y-direction) of guiding center. Table 1. The values of b_min* evaluated from Eq. (18). The values of numerically found b_min are also tabulated. よろしくお願いいたします。

  • Ruby 正規表現と置換

    こんにちは。 Rubyで正規表現で見つかった箇所の文字列を置換するプログラムを書いているのですが、 一部うまく作動せず、その原因が分からないため質問させていただきました。 以下プログラムの置換の部分になります。 49 case text 50 when /株式数(株)\t貸借対照表計上額(千円)|株式数(株)\t貸借対照表計上額(千円)/ 51 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1}株\t#{$3},000円\t"} 52 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 53 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t(\d{1})/){|s| "#{$1}株\t#{$3}円\t"} 54 when/百万円/ 55 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)/) {|s| "#{$1}株\t#{$3},000,000円\t"} 56 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 57 when /株式数(株)\t貸借対照表計上額(百万円)/ 58 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)/) {|s| "#{$1}株\t#{$3},000,000円\t"} 59 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 60 when /株式数(株)\t貸借対照表計上額(百万円)/ 61 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1}株\t#{$3},000,000円\t"} 62 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 63 when /株式数(1000株)\t貸借対照表計上額(百万円)/ 64 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 65 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 66 when /株式数(1000株)\t貸借対照表計上額(百万円)/ 67 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 68 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 69 when/株式数(1000株)\t貸借対照表計上額(百万円)/ 70 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 71 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 72 when/株式数(1000株)\t貸借対照表計上額(百万円)/ 73 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 74 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 75 when/株式数(株) 貸借対照表計上額(百万円)/ 76 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},株\t#{$3},000,000円\t"} 77 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 78 when/株式数(株) 貸借対照表計上額(百万円)/ 79 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},株\t#{$3},000,000円\t"} 80 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 81 end 以下は今のプログラムで出てくる結果です。 1つ目の数字の後ろに「株」、2つ目の数字の後ろに「,000円」がついています。 ハ保有目的が純投資目的である投資株式の前事業年度及び当事業年度における貸借対照表計上額の合計額並びに当事業年度における受取配当金、売却損益及び評価損益の合計額(a)保有目的が純投資目的以外の目的である投資株式銘柄数58銘柄貸借対照表計上額の合計額6,915百万円(b)保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額および保有目的(前事業年度)特定投資株式 前事業年度 銘   柄 株式数(株) 貸借対照表計上額(百万円) 保有目的 (株)髙島屋 1,594,657株 1,527,000円 事業上の関係の維持・強化 トヨタ自動車(株) 220,804株 1,327,000円 事業上の関係の維持・強化 (株)みずほフィナンシャルグループ 3,295,570株 642,000円 取引銀行との関係の維持・強化 ヒューリック(株) 638,400株 552,000円 事業上の関係の維持・強化 住友商事(株) 229,198株 294,000円 事業上の関係の維持・強化 (株)三菱UFJフィナンシャル・グループ 457,750株 272,000円 取引銀行との関係の維持・強化 阪急阪神ホールディングス(株) 316,400株 170,000円 事業上の関係の維持・強化 (株)クラレ 86,250株 125,000円 事業上の関係の維持・強化 積水ハウス(株) 90,950株 120,000円 事業上の関係の維持・強化 東海旅客鉄道(株) 10,000株 112,000円 事業上の関係の維持・強化 (株)池田泉州ホールディングス 206,963株 102,000円 取引銀行との関係の維持・強化 帝人(株) 425,000株 99,000円 事業上の関係の維持・強化 東レ(株) 140,000株 98,000円 事業上の関係の維持・強化 (株)滋賀銀行 181,020株 96,000円 取引銀行との関係の維持・強化 ダイニック(株) 459,000株 81,000円 事業上の関係の維持・強化 三井住友トラスト・ホールディングス(株) 187,568株 80,000円 取引銀行との関係の維持・強化 東日本旅客鉄道(株) 10,000株 75,000円 事業上の関係の維持・強化 近畿日本鉄道(株) 155,455株 65,000円 事業上の関係の維持・強化 長瀬産業(株) 47,124株 62,000円 事業上の関係の維持・強化 ユニチカ(株) 1,013,200株 58,000円 事業上の関係の維持・強化 (株)南都銀行 154,532株 58,000円 取引銀行との関係の維持・強化 本田技研工業(株) 12,245株 46,000円 事業上の関係の維持・強化 西日本旅客鉄道(株) 10,000株 42,000円 事業上の関係の維持・強化 イオン(株) 32,149株 38,000円 事業上の関係の維持・強化 コニカミノルタホールディングス(株) 51,000株 37,000円 事業上の関係の維持・強化 本来ならば「,000円」ではなく「,000,000円」を付加して出力するはずなのですが うまく動作せず「,000円」が付加されてしまっています。 どこを直せば正しく動作するでしょうか? ご教授の程よろしくお願いします。

  • 正規表現

    すみません。先輩の作ったPerlソースを机上で追っています。 Perlの実行環境がないので、よく動きが理解できないところが 多々あります。その中でも正規表現がどうにも理解できません。 以下の正規表現 ^http://([^/]*[.-])?(abc|efg?|hij|xxx)[.-] の場合、以下の例だと一致するのはどれになりますでしょうか? http://hij.com/ http://aahij.com/ http://hijaa.com/ http://aahijaa.com/ http://aa-hij.com/ http://hij-aa.com/ http://aa-hij-aa.com/ http://www.hij.com/ http://www.aa-hij.com/ http://www.hij-aa.com/ http://www.aa-hij-aa.com/ http://www.aahij.com/ http://www.hijaa.com/ http://www.aahijaa.com/ http://www.zzz.com/hij.html http://www.zzz.com/aa-hij.html http://www.zzz.com/hij-aa.html http://www.zzz.com/aa-hij-aa.html http://www.zzz.com/aahij.html http://www.zzz.com/hijaa.html http://www.zzz.com/aahijaa.html 簡単な解説も頂けると助かります。宜しくお願いします。

    • ベストアンサー
    • Perl
  • replaceでの正規表現の記載について教えて下さい。

    replaceでの正規表現の記載について教えて下さい。 replaceを用いてt2の文字列をclpreの文字を対応するclaftの文字に変更することを考え、下記のようにくんでみましたが、エラーが出てしまい上手く行きません。 正しくはどのように記載するのでしょうか? ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー var t2 = "KJANN B CVA"; clpre = new Array("A" , "B" , " ", " "); claft = new Array("@" , "*" , "s" , "S"); for (i=0; clpre[i]; i++){  t2 = t2.replace(/clpre[i]/g, claft[i]); } ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  • 文字の取り出し(正規表現?)

    まず、やろうとしてることを説明します。 ・外部サイトから複数の文字パターンを取得  (これが何十ページ。しかしXXX.php?ID=xxで、   xxの値が2文字の英数字。テンプレートも同じ。)         ↓ ・データに書き出す。         ↓ ・データを表にして表示。 つまり、例えば外部サイトに "かきくけこ 人数 XXX人 名前 YYYYY あいうえお" という内容があって、その中からXXXとYYYYYを抜き出して、 それを表で出力しようとしてます。 質問の内容ですが、 例えの場合のXXXとYYYYYを抜き出す方法を探しています。 まだPHP初めて数日、みたいな自分なのですが、 調べると正規表現が関わるような感じだと分かりました。 しかしよく分からなかったのでご教授いただきたいです。 (その後の処理まで解説いただけると助かります。) 現在の状態は <?php $url = "http://hogehoge.jp/XXX.php?GId=xx"; $data = file_get_contents($url); $data = trim($data); $data = str_replace("\r","",$data);//改行除去 $data = str_replace("\n","",$data);//改行除去 $data = strip_tags($data);//タグ除去 echo $data; ?> で、外部サイトの文字すべてを出力するまでできています。

    • 締切済み
    • PHP