にっき

2006/12/20 13:07:41

おぺらさんと RegExp おぶじぇくと


むぅ・・・
JavaScript で正規表現を使うときに固定のものなら
var reg = /.../gim;

みたいに描けるけど,変数が必要なときはそのままじゃ変数として認識してくれないから
var uni = '...';
var reg = new RegExp(uni,'gim');

みたいなかんじで正規表現おぶじぇくとを生成して使うのはいいんだけど・・・



この RegExp で正規表現おぶじぇくとを生成するときに
var uni = '...';
var reg = new RegExp('<{' + uni + '}>','g');

ってするとIEときつねたんはおっけぃなのににゃんでおぺらさんだけ
SyntaxError で怒られるのにう?(つx;【みかん

なんだか納得いかないからJavaScriptのべ〜すになってるECMA SCRIPTの仕様をちぇっくしてみたら
引用:
P の文字が書式 Pattern を持たないならば、例外 SyntaxError を投げる。そうでなければ、新規に構築されたオブジェクトに Pattern の評価 ("compiling") により得られる [[Match]] プロパティを持たせる。 Pattern の評価が例外 SyntaxError を投げてもよいことに注意。 (Note: pattern が StringLiteral ならば、 文字列が RegExp によって処理される前に、通常のエスケープシーケンスの変換が実行される。 RegExp によって認識されるエスケープシーケンスを pattern に含めなければならないならば、 StringLiteral の内容の形成時に削除されることを防ぐために、 StringLiteral 内の文字 "\" はエスケープされなければならない。)

ってなってて Pattern を追いかけると制御文字も動作するものとして入ってるにゃぁ・・・
なんだかおぺらさんのほうが正式っぽいにう?(つx;【みかん

IEときつねたんは制御文字をえすけ〜ぷしてても特に問題ないっぽいから
var reg = new RegExp(('<{' + uni + '}>').replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1'),'g');

で解決しちゃっておっけぃなのかなぁ?(´・ω・`;【みかん


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 4月 翌月
  1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
       
             
  • あじ あじ
  • ED ED
  • えでん えでん
  • えれふぃ えれふぃ
  • ぐらぶれ ぐらぶれ
  • etc etc
  • にっき にっき

あわせて読みたい

先頭に戻る
めにう 先頭に戻る