私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.75 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
正規表現は一部にもマッチする
全体にマッチさせたいときは^と$を使う
くやしい使い方は正規表現でググってね
全体にマッチさせたいときは^と$を使う
くやしい使い方は正規表現でググってね
var x=/[a-z]/g, y;
while((y = x.exec("ans=no")) alert(y);
でどんな風にマッチしてるか見ろ
while((y = x.exec("ans=no")) alert(y);
でどんな風にマッチしてるか見ろ
>>405
g フラグ付きの test() がどうとかは関係ない。
g フラグの指定された同一の RegExp オブジェクトに対して
String オブジェクトの replace() メソッドを続けて実行しているのが原因。
String のメソッドは lastIndex プロパティを使用しないけれども、
このときに RegExp オブジェクトの lastIndex を 0 に再設定するかしないかで挙動が分かれているだけ。
要するに g フラグを指定した同一の RegExp オブジェクトに対して、RegExp のメソッドを使用した後、
String オブジェクトのメソッドに引数として渡すと挙動が変わるということ。
g フラグ付きの test() がどうとかは関係ない。
g フラグの指定された同一の RegExp オブジェクトに対して
String オブジェクトの replace() メソッドを続けて実行しているのが原因。
String のメソッドは lastIndex プロパティを使用しないけれども、
このときに RegExp オブジェクトの lastIndex を 0 に再設定するかしないかで挙動が分かれているだけ。
要するに g フラグを指定した同一の RegExp オブジェクトに対して、RegExp のメソッドを使用した後、
String オブジェクトのメソッドに引数として渡すと挙動が変わるということ。
>>397
カーネル時間使いまくりの強力なブラクラだなwww
最初30000でやったら泣きたくなって、IE殺すのにも一苦労したわ。
オレのPCのスペックじゃ10000ぐらいが限界だった。
それ以上は怖くて増やせない。
カーネル時間使いまくりの強力なブラクラだなwww
最初30000でやったら泣きたくなって、IE殺すのにも一苦労したわ。
オレのPCのスペックじゃ10000ぐらいが限界だった。
それ以上は怖くて増やせない。
>>397
10000未満で死ぬWin7+IE8の環境だったが、古典的な
タイマー呼びすぎ対策の「clearTimeout+setTimeout」を
セットで使えば、安定して30000まで全部出るようになった。
IE8の開発者ツールのデバッガ使うと100%死ぬし、その死ぬ
PCでも仮想環境のIE6から開くと重いけど30000まで全部出るし、
個体ごとの環境で色々挙動が違って不思議だ。
10000未満で死ぬWin7+IE8の環境だったが、古典的な
タイマー呼びすぎ対策の「clearTimeout+setTimeout」を
セットで使えば、安定して30000まで全部出るようになった。
IE8の開発者ツールのデバッガ使うと100%死ぬし、その死ぬ
PCでも仮想環境のIE6から開くと重いけど30000まで全部出るし、
個体ごとの環境で色々挙動が違って不思議だ。
setTimeoutには発行数に上限があるかどうか確認したいのに、
clearTimeoutで毎回解除してしまったら意味がなかった orz
描画の更新間隔を負荷が低い1秒おき程度にしても1万足らずで
止まるPCもあれば、何の役にも立たない構文エラーを吐きつつも
30000まで完走するPCもあったり、やはりIEは挙動が不安定だ。
Safari4は後半でペースががた落ちするけど完走するタイプだった。
複数のPCで試したけどIEの傾向として、タイマーで処理が詰まる
古い環境の方は最後まで完走し、順調にタイマー処理が進むくらい
リソースに余裕がある環境だと10000足らずで止まる感じだった。
IE6が最初「応答なし」で詰まりまくっても、結局最後まで表示し
終えるのは、ループ内などで描画を詰まらせると途中の描画を
手抜きして最後だけ描画する仕様だからかもしれない。でも、
負荷の低そうなステータスバーに中身を表示する方法でも
最初のうちは応答なしで固まって、タイマー間隔がゆるむ頃から
普通に処理が進んで完走してたから不思議だ。
clearTimeoutで毎回解除してしまったら意味がなかった orz
描画の更新間隔を負荷が低い1秒おき程度にしても1万足らずで
止まるPCもあれば、何の役にも立たない構文エラーを吐きつつも
30000まで完走するPCもあったり、やはりIEは挙動が不安定だ。
Safari4は後半でペースががた落ちするけど完走するタイプだった。
複数のPCで試したけどIEの傾向として、タイマーで処理が詰まる
古い環境の方は最後まで完走し、順調にタイマー処理が進むくらい
リソースに余裕がある環境だと10000足らずで止まる感じだった。
IE6が最初「応答なし」で詰まりまくっても、結局最後まで表示し
終えるのは、ループ内などで描画を詰まらせると途中の描画を
手抜きして最後だけ描画する仕様だからかもしれない。でも、
負荷の低そうなステータスバーに中身を表示する方法でも
最初のうちは応答なしで固まって、タイマー間隔がゆるむ頃から
普通に処理が進んで完走してたから不思議だ。
チェックボックスにチェックをいれるとフォームを書き換えるということをしたいのですが、どのようにすれば良いのでしょうか。
>>399 がgフラグの意味を誤解していると思われ。
gフラグはマッチを制御するためのものでなく、置き換えを
行う時にそれを1回でやめずに繰り返せるようにするためのもの。
echo 'abc=true' | sed 's/[a-z]/x/g' ===> xxx=xxxx
echo 'abc=true' | sed 's/[a-z]/x/' ===> xbc=true
で、Javaで >>399 が期待するように動作するというのはよく分からん。
Patternと文字列からMatcherを作って反復して呼ぶと隣接していない
マッチ区間を見つけることができるとかいう意味?そんな面倒なコード
書くなら何だってできそうだが…
gフラグはマッチを制御するためのものでなく、置き換えを
行う時にそれを1回でやめずに繰り返せるようにするためのもの。
echo 'abc=true' | sed 's/[a-z]/x/g' ===> xxx=xxxx
echo 'abc=true' | sed 's/[a-z]/x/' ===> xbc=true
で、Javaで >>399 が期待するように動作するというのはよく分からん。
Patternと文字列からMatcherを作って反復して呼ぶと隣接していない
マッチ区間を見つけることができるとかいう意味?そんな面倒なコード
書くなら何だってできそうだが…
/e/という正規表現が文字列全体に渡り繰り返し隙間なくあてはまる
かどうかを調べるには/^(e)+$/という正規表現のマッチを見れば
よいわけで。
かどうかを調べるには/^(e)+$/という正規表現のマッチを見れば
よいわけで。
>>418
> 置き換えを行う時にそれを1回でやめずに繰り返せるようにするため
置換、つまりreplaceだけで使えるわけじゃないぞ
String.prototype.matchでも使うし、RegExp.prototype.execも解釈を変える
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-5_String_Objects.html#section-15.5.4.10
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-10_RegExp_Objects.html#section-15.10.6.2
>>399
Javaの該当メソッドとJavaScriptのRegExp.prototype.testのアルゴリズムは一致してるのか?
一致していなければ、単にJava側の仕様ってだけの話
結果が違っていて当然
> JavaとJavaScriptで同じにしてくれてもいいのにね。
まったく同意できん
似てるのは名前だけだと小一時間(ry
> 置き換えを行う時にそれを1回でやめずに繰り返せるようにするため
置換、つまりreplaceだけで使えるわけじゃないぞ
String.prototype.matchでも使うし、RegExp.prototype.execも解釈を変える
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-5_String_Objects.html#section-15.5.4.10
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-10_RegExp_Objects.html#section-15.10.6.2
>>399
Javaの該当メソッドとJavaScriptのRegExp.prototype.testのアルゴリズムは一致してるのか?
一致していなければ、単にJava側の仕様ってだけの話
結果が違っていて当然
> JavaとJavaScriptで同じにしてくれてもいいのにね。
まったく同意できん
似てるのは名前だけだと小一時間(ry
>>419
え?
え?
>>422
え?
え?
>>422
ん?
ん?
で、その拡張された正規表現(の一部)を利用しているので、
×正規表現は Perl 由来
○javascriptの正規表現は perl の正規表現を利用
由来は物事の始まりって意味だしな
×正規表現は Perl 由来
○javascriptの正規表現は perl の正規表現を利用
由来は物事の始まりって意味だしな
モデル -> 原型 -> original from -> 由来
どうでもいいけど、間違ってないと思う。
どうでもいいけど、間違ってないと思う。
>>436
え?
え?
×どうでもいいけどそろそろ終わりにしないか?
○どうでもいいからそろそろ終わりにしないか?
○どうでもいいからそろそろ終わりにしないか?
var obj = document.getElementById("result");
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
obj.setAttribute("value","hoge");
break;
}
case 0で終われば動くけどcase 1まで記述すると動きません。
なぜでしょうか?
caseの中身に問わず、caseを2つ以上記述すると動かなくなります。
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
obj.setAttribute("value","hoge");
break;
}
case 0で終われば動くけどcase 1まで記述すると動きません。
なぜでしょうか?
caseの中身に問わず、caseを2つ以上記述すると動かなくなります。
case 0 でマッチして break してんじゃないの?
だいたい動かないスクリプトを貼ってもらっても困る
だいたい動かないスクリプトを貼ってもらっても困る
訂正
×動かない
×動作検証のしようがない
やりたいことをまず書いた方がいい
きっと switch じゃないだろう
×動かない
×動作検証のしようがない
やりたいことをまず書いた方がいい
きっと switch じゃないだろう
>>441
valの中身を見ろ
valの中身を見ろ
要はアップローダを作ってるんです。
○これだと動作します。
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
str = "ファイルサイズオーバー";
break;
}
×これだと動作しません。(case 1の中身を消しただけ)
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
break;
}
○これだと動作します。
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
str = "ファイルサイズオーバー";
break;
}
×これだと動作しません。(case 1の中身を消しただけ)
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
break;
}
失礼、○と×の例が逆でした。
前者で動かず、後者で動きます。
前者で動かず、後者で動きます。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.105 + (1001) - [95%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [95%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
トップメニューへ / →のくす牧場書庫について