JavaScript プログラミング入門 2006/11/10 神津.

Slides:



Advertisements
Similar presentations
アルゴリズムとプログラミン グ (Algorithms and Programming) 第6回:クラスとインスタンス クラスの宣言 アクセス修飾子 インスタンスの生成 (new キーワード) this キーワード フィールドとメソッドの実際の定義と使い 方 クラスの宣言 アクセス修飾子 インスタンスの生成.
Advertisements

情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能.
RailsによるAjaxの利用 回生 小野 実.
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
Regex takatosi.
JavaScriptゼミ第2回 2-2 変数とリテラル 発表者 直江宗紀.
Excel による データベース入門 Ver /9.
JavaによるCAI学習ソフトウェアの開発
Javaのための暗黙的に型定義される構造体
12.3,E,-15, 12.3,E5,+,=, >,<,…,
「R入門」 第1章: 紹介と準備 (思い切って簡単に) 第2章: 簡単な操作 10月10日(金) 発表者 新納浩幸.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
基礎プログラミングおよび演習 第9回
プログラミング基礎I(再) 山元進.
第13回 プログラミングⅡ 第13回
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
Ruby勉強会(第1回) 2006/06/29 竹内豪.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
JavaScript    プログラミング入門 3-2 Stringオブジェクト 2006/10/27 神津 健太.
JavaScript 成瀬 基樹 平野 敦 北浦 繁.
卒研:データベースチーム 第4回 DOMを使った処理
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
条件式 (Conditional Expressions)
言語処理系(5) 金子敬一.
JSFによるWebアプリケーション開発 第6回
エンタープライズアプリケーション II 第7回 / 2006年7月9日
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第20章 Flyweight ~同じものを共有して無駄をなくす~
スクリプト言語を用いたPHITSの連続実行
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
第10章 char 文字列; 文字列を入力させるよ!.
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
JAVA入門.
第4回JavaScriptゼミ セクション2-8 発表者 直江 宗紀.
暗黙的に型付けされる構造体の Java言語への導入
プログラミング論 II 2008年10月30日 文字列
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
プログラミング言語入門.
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
ソフトウェア制作論 平成30年9月26日.
P n ポインタの基礎 5 q m 5 7 int* p; int 型の変数を指すポインタ int* q; int 型の変数を指すポインタ int n=5, m=7; int 型の変数 int array[3]; int* pArray[3]; p = &n; ポインタにアドレスを代入しているのでOK.
プログラミング基礎B 文字列の扱い.
アルゴリズムとデータ構造1 2005年6月24日
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
計算機プログラミングI 第5回 配列 文字列(Stringクラス) mainの引数 配列の利用例
プログラミングⅠ 平成30年10月22日 森田 彦.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
統計ソフトウエアRの基礎.
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
アルゴリズムとプログラミング (Algorithms and Programming)
Excel 2002,2003基本7 名前機能.
Action Method の実装 J2EE II 第9回 2004年12月2日.
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
コンパイラ 2012年10月11日
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
:: の扱い 長谷川啓.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
JSFによるWebアプリケーション開発 第7回
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
情報処理技法 (Javaプログラミング)1 第4回 語句や文章を扱いたいときは?
Presentation transcript:

JavaScript プログラミング入門 2006/11/10 神津

3-7-1 正規表現の基礎知識 正規表現とメタキャラクタ ^JavaScript 「^」は「行の先頭」を表す Java ?Script 3-7-1 正規表現の基礎知識 正規表現とメタキャラクタ ^JavaScript 「^」は「行の先頭」を表す Java ?Script 「?」は「直前の文字の0回もしくは1回の繰り返し」を表す 「JavaScript」 と 「Java Script」の両方を検索できる

3-7-1 正規表現の基礎知識 正規表現オブジェクトの生成 正規表現を利用するには、「正規表現オブジェクト」として 生成しておく必要がある 3-7-1 正規表現の基礎知識 正規表現オブジェクトの生成 正規表現を利用するには、「正規表現オブジェクト」として  生成しておく必要がある var regexp = new RegExp(“^JavaScript”); var regexp = /^JavaScript/; testメソッド 書式 : 正規表現オブジェクト.test(str) 引数 : str(検索対象の文字列) 戻り値: マッチした結果(true or false)

3-7-1 正規表現の基礎知識 var regeret = /^JavaScript/; 3-7-1 正規表現の基礎知識 var regeret = /^JavaScript/; var str = “JavaScript 入門”; var result = regexp.test(str); var result = /^JavaScript/.test(“JavaScript 入門”); var result = new RegExp(“^JavaScript”).test(“JavaScript 入門”);

3-7-1 正規表現の基礎知識 正規表現オブジェクトのオプション i : 大文字・小文字を区別しない g : 全てを検索する 3-7-1 正規表現の基礎知識 正規表現オブジェクトのオプション i :  大文字・小文字を区別しない g :  全てを検索する RegExpコンストラクタの2番目の引数として指定 var regexp1 = new RegExp(“java”,”1”); もしくは var regexp1 = / java / i; 正規表現によるパターンマッチは最初にマッチした時点で   終了するが、gオプションを指定すると最後まで行われる

3-7-2 Stringオブジェクトのメソッドでパターンマッチング matchメソッド 書式 : 文字列.match(regexp)   引数 : regexp(正規表現オブジェクト)   戻り値: マッチした文字列 var regeret = /^JavaScript/; var str = “JavaScript 入門”; var result = str.match(regexp); var result = “JavaScript 入門”.match(/^JavaScript/); 変数result にはマッチした文字列「JavaScript」が格納される

3-7-2 Stringオブジェクトのメソッドでパターンマッチング searchメソッド 書式 : 文字列.search(regexp)   引数 : regexp(正規表現オブジェクト)   戻り値: マッチした文字列の位置 指定したregexpがマッチすれば、マッチした文字列の   先頭からの位置(先頭を「0」とする番号)を戻す みつからなかった場合は「-1」を戻す パターンマッチの実験用のスクリプト

3-7-3 さまざまなメタキャラクタ ^ : 行の先頭にマッチ $ : 行の終わりにマッチ . : 任意の1文字にマッチ 3-7-3 さまざまなメタキャラクタ ^ : 行の先頭にマッチ $ : 行の終わりにマッチ . : 任意の1文字にマッチ ? : 直前の文字の0回もしくは1回の繰り返しにマッチ * : 直前の文字の0回以上の繰り返しのマッチ + : 直前の文字の1回以上の繰り返しのマッチ \d : 数字にマッチ \D : 数字以外にマッチ \s : 空白文字にマッチ \S : 空白文字以外にマッチ \w : 英文字とアンダーバー「_」にマッチ \W : 英文字とアンダーバー「_」以外にマッチ \b : 単語の区切りにマッチ

3-7-3 さまざまなメタキャラクタ 繰り返しの指定について 「*」と「+」の違い Ja*va 3-7-3 さまざまなメタキャラクタ 繰り返しの指定について 「*」と「+」の違い Ja*va この場合、「Java」や「Jaaaaava」だけでなく「Jva」もマッチ Ja+va この場合は「Jva」はマッチしない

3-7-3 さまざまなメタキャラクタ 文字クラス 「Java」「cava」「sava」のすべてにマッチさせたい場合 3-7-3 さまざまなメタキャラクタ 文字クラス 「Java」「cava」「sava」のすべてにマッチさせたい場合 「 [ 」と「 ] 」の間にマッチさせたい文字の並びを記述 [jcs]ava 文字コードが連続した一連の文字にマッチさせたい場合 [a-z] 他の例 [a-zA-z] : アルファベットすべて [a-zA-z0-9_] : 英数字と「_」(\wと同じ) [^a-zA-z0-9_] : 英数字と「_」以外(\Wと同じ)

3-7-3 さまざまなメタキャラクタ メタキャラクタの働きを打ち消すには (メタキャラクタを文字としてパターンに含めたい場合) 3-7-3 さまざまなメタキャラクタ メタキャラクタの働きを打ち消すには (メタキャラクタを文字としてパターンに含めたい場合) メタキャラクタの前に「\」を記述する 「$450」を検索したいとき \$450 「\」そのものを表すには、「\\」と記述。

3-7-4 正規表現による文字列の置換 replaceメソッド 書式 : 文字列.replace(regexp , str) 3-7-4 正規表現による文字列の置換 replaceメソッド 書式 : 文字列.replace(regexp , str) 引数 : regexp(正規表現オブジェクト) str(文字列) 戻り値: 置換後の文字列 regexpとマッチした部分えおstrに置換する パターンマッチの実験用のスクリプト

3-7-4 正規表現による文字列の置換 パターンマッチは欲張り <h1>セミナーのお知らせ</h1> 3-7-4 正規表現による文字列の置換 パターンマッチは欲張り <h1>セミナーのお知らせ</h1> <h2>場所:第2会議室</h2> HTMLのタグは「<」と「>」で囲まれた文字列 タグを消すため、マッチさせるには普通に考えると <.+> しかし、できるだけ多くの文字列を含めようとするため、 最初の「<」から最後の「>」も間の文字列にマッチしてしまう それぞれのタグにマッチさせたい場合、つまり最短でマッチ させたい場合には以下のように記述 <.+?>

3-7-5 マッチした文字列を後から使うには パターンの一部を「(」と「)」で囲んでグループ化しておくことで 3-7-5 マッチした文字列を後から使うには パターンの一部を「(」と「)」で囲んでグループ化しておくことで マッチした文字列を後から使うことができる マッチした文字列はRegExpオブジェクトのスタティック変数 「$1」、「$2」、「$3」...に順に格納されていく 例(メールアドレスから名前とドメイン名を取り出す) var youMail = “makoto@peachpress.co.jp”; var mailRegexp = /^([\w\.-]+)@([\w\.-]+)$/; if(yourMail.macth(mailRegexp)){ doucument.write(“<p>名前:”,RegExp.$1,”</p>”); doucument.write(“<p>ドメイン:”,RegExp.$2,”</p>”); } else{ alert(“メールアドレスが正しくありません”);

3-7-5 マッチした文字列を後から使うには Replaceメソッドの第2引数でマッチした文字列を使う 3-7-5 マッチした文字列を後から使うには Replaceメソッドの第2引数でマッチした文字列を使う グループにマッチした文字列はreplaceメソッドの第2引数 で使うことができる この場合、「RegExp.$1」の「RegExp」を省略して「$1」と 記述することができる 例(カンマ「,」で区切られた2つの単語を入れ替える) var str = “Java,Script”; var regexp = /(\w+),(\w+)/; var newStr = str.replace(regexp,”$2,$1”); newStrには「Script,Java」が格納される

宿題 Removeボタンを押すと指定文字列1の文字列を削除 replaceボタンを押すと指定文字列1の文字列を 指定文字列2の文字列に置換する