約 26,965 件
https://w.atwiki.jp/nicepaper/pages/243.html
今回はフォームのエラー処理について勉強していきます。 エラー処理には様々な方法がありますが、そのうちの一つの例となっています。 実践的にエラー処理コードには どんな事が書いてあるのか、どんな事がしたいのか をみていきましょう。 エラー処理コード //エラー処理 $error = ; if($_POST[ info_date ] == ) $error .= 日付が選択されていません。 br ; if(!preg_match("/^[0-9]{4}\/[0-9]{2}\/[0-9]{2}/",$info_date)) $error .= 日付が正しくありません。 br ; if($_POST[ type ] == ) $error .= 投稿種類が選択されていません。 br ; if($_POST[ title ] == ) $error .= タイトルが入力されていません。 br ; if(mb_strlen($_POST[ title ]) 40) $error .= タイトルは20文字以内にしてください br ; if($_POST[ info_text ] == ) $error .= 内容が入力されていません。 br ; if(mb_strlen($_POST[ info_text ]) 2000) $error .= 内容は1000文字以内にしてください br ; if($_POST[ status ] == ) $error .= 状態が選択されていません。 br ; パッと見て・・・ まずは 一行目で関数$errorを空の状態にしていますね。 それ以降、 二行目からは一行毎にif文を使って条件に合わせて$errorに文字列を格納していっています。 .=を使って最終的には、格納していった 文字列が一つの繋がりになるようになっています。 どんなフォーム?? このエラー処理が記述されているフォームはどのようなフォームなのでしょうか?? 日付、投稿種類、タイトル、本文、そして状態ですね。 投稿種類 投稿種類は選択式になっていてそれが空(選択されていない)だとエラーを返すようになっています。 タイトル こちらも空の場合は、エラーを返すます。 それからもう一つ、タイトルに物凄く長い文字列を入れられてしまった場合もエラーを返すようになっています。 ここで注目すべき事は、 mb_strlen($_POST[ title ]) 40と書いてあるのに横では「20文字以内にしてください」と表示 させるようにプログラムが組んであります。 これは間違いではありません。 mb_strlen関数は第二引数で文字コードを指定しなければ、マルチバイト文字はローマ字の数でカウントされます。 そこで、2倍に設定しておいたのでしょう。 本文 タイトルとほぼ同じ仕組みで作られています。 ステータス こちらは、投稿種類と同じ仕組みです。 日付 日付に関しては正規表現が使われています。 ここでは、!マーク(否定形)を用いてpreg_match関数を使用しています。 0から9までの数字を4回繰り返し(西暦)、その次に二回ずつ(月、日)数値を繰り返えされていなければエラーと返すようになっています。 nicepaper内でも解説されているのでそちらをご覧ください。 PHPで正規表現入門1 以上
https://w.atwiki.jp/wiki3_math/pages/24.html
13 名前:132人目の素数さん 投稿日:2001/06/28(木) 16 07 個人的には、2の岩波を終えたら、東京大学出版のものだろう。 14 名前:132人目の素数さん 投稿日:2001/06/28(木) 17 48 13 数学科の人間なら、最初から東京大学出版のもので良いと思うけど。 岩波書店の理工系数学の基礎シリーズをわざわざ先にやるのは時間の 無駄だと思う。 15 名前:132人目の素数さん 投稿日:2001/06/28(木) 17 52 14 京大の理学部(数学専攻じゃないみたいだけど)人に聞いたけど、 東京大学出版のやつはきついって言ってた。 まあ、しかるべき人にそれを教科書として 教えてもらえばいいけど、自習向けではないといってた。 16 名前:132人目の素数さん 投稿日:2001/06/28(木) 20 20 15 東京大学出版のやつはきつくないぞ。割と。 18 名前:132人目の素数さん 投稿日:2001/06/29(金) 20 26 16 数学科の人間はそれができる余裕があるけど、 他の学科のものにはきついと思う。 っで、君は東京大学出版会のやつで充分?数学は? 19 名前:名無しさん@お腹いっぱい。 投稿日:2001/06/29(金) 21 15 東大出版の数学の教科書ってあまり良く無くない? 20 名前:132人目の素数さん 投稿日:2001/06/29(金) 21 29 おまえら具体的に書名だせや。 でないと議論にならんだろボケ 50 名前:132人目の素数さん 投稿日:2001/07/05(木) 16 44 東京大学出版会のものが皆さんが名著としていますが、 そんなによくわかりやすいものなのでしょうか? 52 名前:132人目の素数さん 投稿日:2001/07/05(木) 21 59 東京大学出版会のものが また厨房か?書名あげろよ。出版者で論じても意味なし。 53 名前:132人目の素数さん 投稿日:2001/07/05(木) 22 00 こいつ東大出版のまわしものでねえの? 誰も名著だなんて書いてねえじゃん 54 名前:132人目の素数さん 投稿日:2001/07/05(木) 22 30 53 同意。なんか東大出版会を持ち上げて 岩波を悪く言う奴がいるな、このスレ。 55 名前:132人目の素数さん 投稿日:2001/07/06(金) 09 27 話題になってる東大出版の本だけど いいのは線型代数と解析入門ぐらいか? 岩波やしょーか房のほうが良いよ。 59 名前:132人目の素数さん 投稿日:2001/07/06(金) 19 19 53,54 では 2が言ってる岩波の本とかのほうがいいの?
https://w.atwiki.jp/matomerutokoro/pages/121.html
== 概要 == 電波新聞社「電子回路入門講座」 第一版第三刷 正誤表の正誤表を掲載します。 ※本資料の記載内容は無保証です。 table_edit エラー(指定ページが見つかりません) 編集用内部リンク 電波新聞社_電子回路入門講座_正誤表実データ
https://w.atwiki.jp/tosaken/pages/14.html
この分野の書籍本では必ず押さえる必要があるのが腰痛である。 内容の理解のしやすさもさることながら、情報量も適度であり入門書としても使えます。 順をおって学習を進められるように設計がされているのでとっつきやすい本でもあります。 私のようにそこそこの知識がある中級者にとっても便利である。 章立てが細かいので辞書として使えます。 腰痛の著者はこの分野ではその人ありといわれた重鎮である。 とりあえず揃えておいた方が非常によい本である。
https://w.atwiki.jp/bvoyage2/pages/37.html
とるまりんのもう1つのメイン職 打撃と法撃のハイブリッド職テクターと打撃と射撃のハイブリッド職ブレイバー この2つの性能を併せ持った打撃と射撃と法撃の超ハイブリッド職がTeBr…通称てぶれ なんで流行ったのか そもそものTeというのは元来、近接法撃をぶちあててウォンドギアを溜め、 ウォンドで殴り、離れた敵は法撃で落とし、と言うなれば近距離Fo的な感じだった。 ぶっちゃけて言ってしまえば、殴りの強くなったFoという存在であったわけだ。 それが度重なるFo、Teの修正により、 スキルでいえば、Fo側にエレメントコンバージョン、タリステックボーナスが追加され、 ウェポンブーストによりFoで扱うロッドとタリスが更に効果を上げたことで、 Teでの法撃による遠距離攻撃はどうあってもFoの劣化になってしまった。 ここでTe側に追加されたものを見てみると どうもシフタデバンド関係に特化していることがわかる。 当たり前だがウェポンブーストはウォンドにもちゃんと来ているので、 遠距離法撃は劣化になるが、近接火力については上がったということになる。 じゃあもう殴りだけでよくね? ということで、 TeHu、TeFi、TeBrという サブに近接職を敷く人が増加。 実際、ゾンディによる集敵、法撃爆発による少範囲火力と 雑魚戦においてはその時でさえトップクラスの性能を誇っていた。 そこでさらに登場したのがグレンテッセンの存在である。 高速移動と火力を両立したシンプルかつコストパフォーマンスに優れるカタナの良PA これによりタイムアタックでBrを選択する人が増加した。 次に採掘基地防衛戦4種をはじめとする各種緊急クエストにおいて、 Teのスキルシフタストライクが非常に有用であることが知られてきて、 Teの株はRa並にまで上がった。 そう、攻撃力を目指したFoとは差別化され、 マルチ需要により補助に特化した職となったのである。 なにができるの? Teってなにができるのか、 ぶっちゃけて言えば、その性能は補助に限定されてしまうが、 もちろんその補助性能は自分にもかかるわけで、 やはりそれぞれの特化職には及ばないが、ただ戦うだけではない動きをマルチでは要求されている。 サブ職によって動きも若干の違いはあるものの、 ここでは他を大まかに、サブBrの動きについて説明していこうと思う。 とるまりんのスキルツリーはコレ ウォンドによる殴りが基礎となっているので、 ウォンドギア、ウォンドラバーズ関係を取得(ギアエレメントは除く) 次にエレメントウィークヒットは法撃爆発が弱点属性であれば適用になるので取得。 Br側でアタックアドバンス(ウォンドにPAはないので打撃部分ダメージUP) ステップアドバンス(ウォンドラバーズ中はステップ回避になる) そしてクリティカル以外のウィーク列を全て完全に取得。 これでウォンド殴り部分の根幹はok 次にサポート面で シフタアドバンスとシフタストライク(クリティカルはなくてもいいので除外) デバンドアドバンスとデバンドタフネス(カットは欲しいところだがSPの関係で除外…) シフデバその他の効果範囲を広げるワイドサポート、 ゾンディール等の範囲を広げるテリトリーバースト、 それの消費PPを下げるテリトリーPPセイブ(1振りでPP-3と効果が高い) ロングタイムアシストも忘れずに。 スーパートリートメントもあると捗る。 Br側はサポート面ノータッチ。 ここからTeBrで出来ることを増やしていく。 まずラピッドツリーでバレットボウ関連を強化していくのだが この中で重要なのがラピッドシュートマスタリー(テクニック威力も上がる) 他は正直おまけ。 カタナコンバットはウォクラの代わり、そこそこの火力にはなる。 またバニッシュアロウ>テクニックのコンボ、通称バニテク利用のための準備を進めていく。 バニテクに扱われるテクニックが基本的にラ・グランツであり、 そのためライトマスタリーを最大倍率になるように調整。 ウィンドマスタリーはザンバースに使えるのでここも調整。 運用法 活躍の場は主に緊急などのマルチクエストがメイン。 まるぐる緊急では、テッセンで高速移動をしつつ先行し、味方が到着する頃合いを見計らって、 ザコが散らばる前にゾンディールで集敵、味方が集まったタイミングでシフデバを追加してもよい。 防衛戦ではシフデバもしづらいので、 テッセンで移動しつつかけて回っても良いが、侵入ぐらいの狭い空間でないとインターバルの時間では足りない。 絶望・終焉ではAIS搭乗者に搭乗後シフタを追加してやるとよい。※自分が乗る際にシフタ発動直後にAIS搭乗することで自己バフが可能。 ボス戦では味方の立ち位置にザンバースを置いて火力補助、 その他ザコの足止めなど仕事は多岐に渡る。 強いウォンドorバニテクが使えるのであれば終焉でのAISエクソーダもソロ撃破可能である。 装備の選択 パレットに仕込む武器は大体以下の5種類 向かうクエストで大体の弱点がとれる属性のウォンド(威力潜在がザンバースに乗るとなおよい) ガルウィンド(ザンバース適用潜在最高倍率5位、投げる必要はない) Te装備のカタナ(消費PPの関係でクラフトされたコンゴウが理想) リカウテリ(ステータスに法撃力を持つためバニテク用) オービットがないのであればクイーンヴィエラを入れてもよい。 能力追加の選択肢 ウォンドギアに影響するものはパワーとテクニックなので、 この2つが均等に強化されていると尚良い。 スタミナはあったほうがよいが、メギバースやレスタなどでの回復が比較的容易なため、他の近接職に比べれば優先度は低め。 バニテク運用の際はスピリタやスティグマなども選択肢に入る。 逆に言えば、バニテクしないのであればPPは一切不要である。 テクニックカスタマイズ これについては別ページに記載しているので除外。 →いろいろ攻略ネタ バニテクのやりかた バニッシュアロウ(ノンチャージでok)を破壊不可能部位に接着、 弱点部位に弱点属性の火力テクニックを打ち込む、 3秒後爆発する、 相手は死ぬ。 ウォンド選択 武器に求める性能は 潜在込攻撃力 潜在能力がザンバースの効果を上げるか否か の2点である。 これを踏まえると現状一番ベストなのがエイトライオービット(一式) 次点がアーレスとなるが、 実際ザンバースが必要な局面というのはクエストの内容で様々なので、 その時の需要に合わせて属性変化できれば理想的。 ただ殴るだけなのであればオフスティアアックスでもよいし、 入手が楽なレボルシオでもいいのである。 よく言われている、 違う属性のトップクラスのウォンドを6属性分揃えることがまずは先決となっているが、 これを記した時期の属性需要により、 現状は光と炎さえあれば最低限なんとかなるし、 実際他の属性は出番が相当に少ない。 なきゃないで、 例えば闇属性ウォンドがないのにハルコタン行こうとなった時に「え~…(困惑」となる。 それぐらいだ。 今後どういった緊急が追加されるか、で必要な属性は変わってくるので 自分で調べ、取捨選択して目標を定めてもらいたい。 まとめ ただ倒すだけではない、補助専の楽しさがある。 しかも高速移動するのは自分だけではないので、それらを如何にうまくヘルプしてあげられるかを考える、 こうすればもっと効率上がるんじゃないか、 ここは被弾きついからザンバースじゃなくてメギバやレスタにしとこう、 スパトリで毒バーンおいしいれす^p^ などなど、自己流の動きが極められる楽しさがあるのが最大の強みである。 「おまえら、自分からシフタ浴びにこいよ」などイライラすることももちろんあるが…。 上級者の集まりほど戦い慣れたTeが必ず一人はいるし、マルチでの価値は非常に高い。 あまり知られていないのが悲しいだけ。 とるまりんFi廃業の危機。
https://w.atwiki.jp/r-intro/pages/27.html
目次 目次 定数項ダミー(pp.235-237) 定数項ダミー(pp.235-237) データをテキストファイルk0901.csvに保存。 i, x, y, d 1, 1, 2, 0 2, 2, 5, 1 3, 3, 7, 1 4, 4, 3, 0 5, 5, 7, 1 6, 6, 5, 0 7, 7, 9, 1 8, 8, 5, 0 9, 9, 7, 0 10, 10, 10, 1 dtf - read.csv("k0901.csv", header = TRUE) r1 - lm(y ~ x, data = dtf) r2 - lm(y ~ x + d, data = dtf) summary(r1) Call lm(formula = y ~ x, data = dtf) Residuals Min 1Q Median 3Q Max -2.394 -1.438 0.000 1.438 2.394 Coefficients Estimate Std. Error t value Pr( |t|) (Intercept) 2.9333 1.3306 2.205 0.0586 . x 0.5576 0.2144 2.600 0.0316 * --- Signif. codes 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error 1.948 on 8 degrees of freedom Multiple R-squared 0.458, Adjusted R-squared 0.3903 F-statistic 6.76 on 1 and 8 DF, p-value 0.03161 summary(r2) Call lm(formula = y ~ x + d, data = dtf) Residuals Min 1Q Median 3Q Max -0.7864 -0.4490 0.0000 0.4490 0.7864 Coefficients Estimate Std. Error t value Pr( |t|) (Intercept) 1.16505 0.49068 2.374 0.0493 * x 0.57767 0.07094 8.143 8.14e-05 *** d 3.31553 0.40753 8.136 8.19e-05 *** --- Signif. codes 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error 0.644 on 7 degrees of freedom Multiple R-squared 0.9482, Adjusted R-squared 0.9334 F-statistic 64.02 on 2 and 7 DF, p-value 3.171e-05 plot(dtf$x, dtf$y, type = "n") lines(dtf$x, fitted(r1), col = "orange") idx - which(dtf$d == 0) lines(dtf$x[idx], fitted(r2)[idx], col = "blue") idx - which(dtf$d == 1) lines(dtf$x[idx], fitted(r2)[idx], col = "green") points(dtf$x, dtf$y, pch = 20, col = "black") 名前 コメント
https://w.atwiki.jp/r-intro/pages/47.html
2次元線図を描画後にそれぞれの軸方向の描画範囲を得る par関数に"usr"パラメーターを指定して実行する。実行すると数値型ベクトルで(横軸方向左端、横軸方向右端、縦軸方向下端、縦軸方向上端)の値を返す。以下、実行例。 x - 1 10 y - log(x) plot(x, y) par("usr") [1] 0.6400000 10.3600000 -0.0921034 2.3946885 plot(x, y, asp = 1.0) par("usr") [1] 0.640000 10.360000 -3.202457 5.505042 plot(x, y, asp = 1.0, xaxs = "i", yaxs = "i") par("usr") [1] 1.000000 10.000000 -2.879957 5.182542 plot関数はaspオプションを指定しないと、与えたプロット点に応じてアスペクト比が決まり描画範囲も決まる。例えばaspオプションに1を与えると、描画範囲が短いほうの軸はアスペクト比に応じて強制的に描画範囲が伸ばされる。上の2番目の例では縦軸方向の描画範囲が伸ばされている。 xaxsとyaxsオプションを指定しないと(デフォルトの"r")、それぞれのプロット点による描画範囲の4%だけ、両方向に描画範囲が広がる(横軸であれば10-1=9より9×0.04=0.36なので、左端は1-0.36=0.64)。この描画範囲を与えたプロット点の範囲ぴったりにしたい場合は、xaxsとyaxsオプションにそれぞれ"i"を与えればよい。上の3番目の例では、図もpar関数の戻り値もそのようになっている。
https://w.atwiki.jp/r-intro/pages/50.html
目次 目次 文字列に特定の文字列が含まれているか調べる 文字列が指定の正規表現とマッチするか調べる 正規表現を使用して文字列の置き換えを行う 正規表現による文字列の比較 正規表現による文字列の比較 正規表現のマッチをテストする 正規表現を使用して文字列を別の文字列に置換する 正規表現を使用して文字列を別の文字列に置換する 正規表現を使用して任意の長さの文字列を検索する ファイル名を示す文字列から拡張子を削除する 文字列から正規表現にマッチする文字列を抜き出す 正規表現を使用してファイル名を表す文字列から拡張子を消す 正規表現を使用してファイル名を表す文字列から拡張子を抜き出す 文字列に特定の文字列が含まれているか調べる grep関数を使う。以下、使用例。 s - c("ABC", "abc", "ABc") grep("AB", s) [1] 1 3 grep("c", s) [1] 2 3 grep("c", s, value = TRUE) [1] "abc" "ABc" 最初の例では文字列「AB」が含まれるのは1番目と3番目の要素のため、1と3が返される。最後の例ではvalueオプションをTRUEにすることで、インデックスではなく含まれる要素の値そのものを返している。 grep("d", s) integer(0) grep("d", s, value = TRUE) character(0) 指定した文字列が見つからなければ空のベクトルが返される。 検索に、正規表現も使える。第一引数にパターンを指定する。 s - c("あいう", "いうあ", "うあい") grep("^あ", s, value = TRUE) [1] "あいう" grep("あ$", s, value = TRUE) [1] "いうあ" grep("[あ]", s, value = TRUE) [1] "あいう" "いうあ" "うあい" 文字列が指定の正規表現とマッチするか調べる grep関数を使う。「ABC」、「abc」、「123」からなる文字列型ベクトルから「a」が含まれる要素があるか否か調べる。 s - c("ABC", "abc", "123") grep("[a]", s) [1] 2 その要素自体を取り出す。 grep("[a]", s, value = TRUE) [1] "abc" 「A」か「a」が含まれている要素のインデックスを取り出す。 grep("[Aa]", s) [1] 1 2 「Z」が含まれている要素のインデックスを取りだしてみる。「Z」が含まれている要素はないので、長さが0の数値型ベクトルが返される。 grep("[Z]", s) integer(0) 正規表現を使用して文字列の置き換えを行う gsub関数を使う。ただ文字列を置換するのではなく、パターンに含まれる文字列を使用して置き換えたい場合は、キャプチャによるグループ化を利用する。パターン内で( )(括弧)に挟まれた範囲はグループ化(キャプチャという)される。このグループには、キャプチャされた順番に1から始まる連番が付けられ、置換後の文字列で\1, \2, …と挿入することで、置換後の文字列に挿入することができる(実際にはエスケープシーケンスを使用する必要があるので、\\1, \\2, …とする)。 以下は、gsub関数を使用して7桁の数字(○○○○○○○)を郵便番号の表記(○○○-○○○○)に置き換えた例。 s - c("1234567", "9876543", "3210") gsub("([0-9]{3})([0-9]{4})", "\\1-\\2", s) [1] "123-4567" "987-6543" "3210" 正規表現による文字列の比較 grepl関数を使う。grepl関数はマッチしたらTRUE、そうでなければFALSEを返すので、要素の数が一つの文字列型ベクトルを与えれば、文字列の比較に使うことが出来る。 s - c("ABC", "ABCD", "BCD", "CD") grepl("^AB", s) [1] TRUE TRUE FALSE FALSE grepl("CD$", s) [1] FALSE TRUE TRUE TRUE if (grepl("^AB", "BCD")) {cat("OK\n")} if (grepl("^AB", "ABC")) {cat("OK\n")} OK 正規表現による文字列の比較 stringrパッケージのstr_detect関数を使う。str_detect関数はマッチしたらTRUE、そうでなければFALSEを返すので、要素の数が一つの文字列型ベクトルを与えれば、文字列の比較に使うことが出来る。 library(stringr) s - c("ABC", "ABCD", "BCD", "CD") str_detect(s, "^AB") [1] TRUE TRUE FALSE FALSE str_detect(s, "CD$") [1] FALSE TRUE TRUE TRUE if (str_detect("BCD", "^AB")) {cat("OK\n")} if (str_detect("ABC", "^AB")) {cat("OK\n")} OK 正規表現のマッチをテストする stringrパッケージのstr_view関数を使う。str_viewは引数に文字列型ベクトルだけを与えると、その中身を表示するだけで、第2引数にパターンを指定すると、そのパターンにマッチする要素だけを表示し、どこがマッチしているのかわかるように表示してくれる。 library(stringr) s - c("ABC", "ABc", "Abc", "abc") str_view(s) [1] | ABC [2] | ABc [3] | Abc [4] | abc str_view(s, "B") [1] | A B C [2] | A B c str_view(s, "bc$") [3] | A bc [4] | a bc str_view(s, "[A-Z]{4}") str_view(s, "[A-Z]{2}") [1] | AB C [2] | AB c 正規表現を使用して文字列を別の文字列に置換する gsub関数を使う。元となる文字列にはベクトルを指定することができる。 s - c("ABCD", "BCDE", "CDEF") gsub("B", "b", s) [1] "AbCD" "bCDE" "CDEF" gsub("^B", "b", s) [1] "ABCD" "bCDE" "CDEF" gsub("[E-F]", "b", s) [1] "ABCD" "BCDb" "CDbb" gsub("[E-F]$", "b", s) [1] "ABCD" "BCDb" "CDEb" ただ文字列を置換するのではなく、パターンに含まれる文字列を使用して置き換えたい場合は、キャプチャによるグループ化を利用する。パターン内で( )(括弧)に挟まれた範囲はグループ化(キャプチャという)される。このグループには、キャプチャされた順番に1から始まる連番が付けられ、置換後の文字列で\1, \2, …と挿入することで、置換後の文字列に挿入することができる(実際にはエスケープシーケンスを使用する必要があるので、\\1, \\2, …とする)。 以下は7桁の数字(○○○○○○○)を郵便番号の表記(○○○-○○○○)に置き換えた例。 s - c("1234567", "9876543", "3210") gsub("([0-9]{3})([0-9]{4})", "\\1-\\2", s) [1] "123-4567" "987-6543" "3210" 正規表現を使用して文字列を別の文字列に置換する stringrパッケージのstr_replace_all関数を使う。元となる文字列にはベクトルを指定することができる。str_replaceという別の関数もあり、こちらは各文字列で最初にパターンにマッチした箇所しか置換をしない。 library("stringr") s - c("ABCD", "BCDE", "CDEF") str_replace_all(s, "B", "b") [1] "AbCD" "bCDE" "CDEF" str_replace_all(s, "^B", "b") [1] "ABCD" "bCDE" "CDEF" str_replace_all(s, "[E-F]$", "b") [1] "ABCD" "BCDb" "CDEb" str_replace_all(s, "[E-F]", "b") [1] "ABCD" "BCDb" "CDbb" str_replace(s, "[E-F]", "b") [1] "ABCD" "BCDb" "CDbF" ただ文字列を置換するのではなく、パターンに含まれる文字列を使用して置き換えたい場合は、キャプチャによるグループ化を利用する。パターン内で( )(括弧)に挟まれた範囲はグループ化(キャプチャという)される。このグループには、キャプチャされた順番に1から始まる連番が付けられ、置換後の文字列で\1, \2, …と挿入することで、置換後の文字列に挿入することができる(実際にはエスケープシーケンスを使用する必要があるので、\\1, \\2, …とする)。 以下は7桁の数字(○○○○○○○)を郵便番号の表記(○○○-○○○○)に置き換えた例。 s - c("1234567", "9876543", "3210") str_replace_all(s, "([0-9]{3})([0-9]{4})", "\\1-\\2") [1] "123-4567" "987-6543" "3210" 正規表現を使用して任意の長さの文字列を検索する 「.」と「{n}」を使う。パターンでは「.」は\n以外の任意の一文字を示す。「{n}」は直前の文字をn回繰り返す意味になる。なお、「{n,}」とするとn回以上という意味になる。 s - c("a", "ab", "abc", "abcd") grep("^.$", s) [1] 1 grep("^.$", s, value = TRUE) [1] "a" grep("^..$", s, value = TRUE) [1] "ab" grep("^.{2}$", s, value = TRUE) [1] "ab" grep("^.{2,}$", s, value = TRUE) [1] "ab" "abc" "abcd" s - c("この葉", "木の葉", "樹木の葉") grep("の", s, value = TRUE) [1] "この葉" "木の葉" "樹木の葉" grep("^.の", s, value = TRUE) [1] "この葉" "木の葉" ファイル名を示す文字列から拡張子を削除する ファイル名を文字列型ベクトルに格納して、gsub関数で正規表現を使えば簡単に削除できる。以下、例。 s - c("abc", "abc.def", "abc.def.ghi") gsub("\\.[^\\.]+$", "", s) [1] "abc" "abc" "abc.def" 「¥¥.」は「.」(ピリオド)一文字を表現している。「.」はパターンを表す書式に使用されるため、それを避けるために前に「¥」を付けている。この付けた「¥」自体もパターンを表す書式に使用する文字のため、「¥」の前にもさらに「¥」を付けている。 「[^¥¥.」+」とは、ピリオド以外の文字を一つ以上ということ。このように指定しないと、含まれるピリオドより右側すべての文字が削除されてしまう。 文字列から正規表現にマッチする文字列を抜き出す str_extract関数を使う。str_match関数はその抜き出した文字列を分解して配列にして返す。マッチする文字列が無い場合はNAを返す。 以下は、郵便番号を表していると思われる文字列から、郵便番号の箇所のみ抜き出した例。正規表現では、「3桁の数字」+「「-」か何も無し」+「4桁の数字」からなる文字列を郵便番号と仮定して、抜き出している。str_match関数はマッチした内容を分解して表形式にして返す。 s - c("123-4567", "〒123-4567", "1234567", "123@4567", " 123-4567 ") str_extract(s, "([0-9]{3})(-*)([0-9]{4})") [1] "123-4567" "123-4567" "1234567" NA "123-4567" str_match(s, "([0-9]{3})(-*)([0-9]{4})") [,1] [,2] [,3] [,4] [1,] "123-4567" "123" "-" "4567" [2,] "123-4567" "123" "-" "4567" [3,] "1234567" "123" "" "4567" [4,] NA NA NA NA [5,] "123-4567" "123" "-" "4567" 正規表現を使用してファイル名を表す文字列から拡張子を消す gsub関数を使う。1つ目の例は拡張子をすべて削除、2つ目の例は拡張子を一つだけ削除した例。 s - c("カナメ.バッカニア.txt", "フレイア.ヴィオン.txt") print(s) [1] "カナメ.バッカニア.txt" "フレイア.ヴィオン.txt" gsub("\\..+$", "", s) [1] "カナメ" "フレイア" gsub("\\.[^\\.]+$", "", s) [1] "カナメ.バッカニア" "フレイア.ヴィオン" 正規表現を使用してファイル名を表す文字列から拡張子を抜き出す 1つ目の例では、最後の拡張子を1つだけ抜き出している。2つ目の例では、1つ以上の拡張子のすべてを抜き出している。 s - c("カナメ.バッカニア.txt", "フレイア.ヴィオン.txt") gsub("^.+\\.", "", s) [1] "txt" "txt" gsub("^[^\\.]+\\.", "", s) [1] "バッカニア.txt" "ヴィオン.txt"
https://w.atwiki.jp/sinsougou/pages/567.html
1 シャマル「シン君の調子はどう?」 リィン「ああ、いいんじゃないか。今日は基礎トレーニングをこなさせたがついてこれてたぞ。」 シャマル「そうですか・・・」 シグナム「しかし、記憶を失っていても負けづ嫌いなのは相変わらずだったな」 ヴィータ「でもよー、前に比べて明るいつーか。なんか違うよな。」 リィン「今のシンには過去がないからな、むしろ、あれが本来のシン・アスカなのかもな」 シャマル「それだけに・・・怖いですね。記憶が戻る時が」 室内に重い空気が流れる、 シャマル「記憶が戻るとなると、かつてのシン君の辛かった出来事も再びフラッシュバックする事でしょう。 そうなった時、また傷つく事になるでしょうね。」 シグナム「しかし、そこでへこたれる奴ではないだろう。」 ヴィータ「でもよ・・・それってきついよな」 リィン「まぁ、なるようにしかならん。という事だな。」 シャマル「現状でシン君がもっとも信頼を寄せているのはリィンフォースです。 すみませんが、お願いできますか?」 リィン「構わんさ。」 シャマル「とりあえず、今後の事ですが戦闘訓練はなるべく避けるように。 最悪の場合、ここに来る前・・・C.E世界の時の記憶しか可能性があるので」 シグナム「長期戦になりそうだな・・・」 リィン「・・・・」 そして、一同が解散した後リィンフォースはヴィータに呼ばれた。 リィン「どうした?」 ヴィータ「リィンよぉ、お前『シンの記憶は戻らなければいい』なんて思ってないよな?」 リィン「・・・・どうしてそう思う」 ヴィータ「カンって奴だよ、さっきそういう顔しているんじゃないかと思った」 リィン「わからないな、正直今のシンを見ていると今のままの方がいいのではないかと考える時もある。」 ヴィータ「・・・・」 リィン「嫌な事を忘れて生きる、そっちの方が彼にとって」 ヴィータ「だけど、それは!」 リィン「しかし、過去がない人間はいない。今までの経験は確かに辛く苦しいかもしれないがそれらを 通ってきたからこそ今までのシン・アスカがいた。私達の知っているシンは今のシンではない。 私は・・・またそのシンに会いたい。わからないんだ、このまま記憶を取り戻さない方が良いと 思っている自分とそうではない自分がいる。」 ヴィータ「リィン、フォース・・・」 リィン「ヴィータ、こんな感情は初めてだ。私のプログラムはやはりおかしくなっていたのか?」 ヴィータ「そうじゃねぇと思うぜ。ま、それを聞いて安心したよ。じゃあな。」 リィン「ヴィータ!」 ヴィータ「それは自分で答えを見つけた方がいいと思うぜ。」 そして、ヴィータはぽつんと立ちすくむリィンを置いてすたすたとその場を後にした。 リィンⅡ「(お姉様、私はお姉様を応援していますよ!)」 2 休暇を利用して海に遊びにきた六課面々 スバル「シンもくれば良かったのに」 なのは「まだ心の整理が出来てないのかも・・・」 ティアナ「ま、まぁなのはさんも今はあの男の事なんて忘れて遊びましょうよ。」 フェイト「ちょっと遠泳でもしてみるかな?」 その頃、しばらくして奇しくも彼女達が遊んでいる海岸近くにてバイクに乗ったシンが シン「くそ、馴れ合いなんか・・・・・海か・・・そういえばここでステラと・・・だめだだめだ、こんな事じゃ。」 フェイト「~~♪っ足が!!」 シン「はぁ、でも何やってんだろうな。俺・・・ん?あれは・・・・ステラ!!」 遠くのところでおぼれている人を発見しバイクで急行するシン。 フェイト「ブクブクブク」 シン「ちょ、落ち着いて。助けに来たから!」 フェイト「そ・・・の声・・・シン」 シン「ステ・・・隊長!?」 フェイト「なんでここに・・・ってあ・・・」 シン「なんでここにってこっちが・・・・・あっ」 二人の目の前にはフェイトの上のビキニ(黒)が、そしてもちろん現在の状況は・・・ フェイト「きゃぁーーーー」 シン「うげふっ!!ガボガボガボガボ」 まぁそこから近くに窪んでる浅瀬があったのでそこで落ち着きながら話したりとかするのだが そこは長くなるのでカット、んで後日。 ヴァイス「んで、どうだったの生パルマ。うらやましいねぇ、このラッキースケベ」 シン「い、いいじゃないですか!そんな事」 なのは「あれからなんかとげとげしくなくなったね」 はやて「そやな、なんか吹っ切れたというか」 フェイト「そうだね。」 簿記入門氏のなのは小ネタ-03へ戻る 簿記入門氏のなのは小ネタ-05へ進む 一覧へ
https://w.atwiki.jp/daigakujuken_english/pages/121.html
選択問題・内容一致・説明問題・和訳などの問題形式がそろっており解説も充実している。 東大や旧帝大受験者には中級編以上が向いており、入門編や基礎編もレベルは高い。 基礎編は地方国立 中級編は旧帝・MARCH 上級編は東大 早慶を対象とする。 選択肢 投票 この本を使ってる! (21) 原本見ましたが内容が少し古いですね。入手もしにくいのでやっておきたいで代用可です -- 名無しさん (2008-06-10 20 33 44) 名前 コメント