. | (x) | (?:x) | x(?=y) | x(?!y) | x|y | {n} |
除了 \n \r \u2028 \u2029 的任一字母。[\s\S] 是所有字母的集合,也包括前述換行字碼。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/e./ig, 'x' ) );
</script> - 執行結果:
Hxlo Wxdy
此名為存入括號。計算文法規則 x,符合的子字串存入結果陣列,取值可用 [1], ..., [n] 或用物件的特徵 $1, ..., $9。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/(e.).*(d.)/, 'x' ) +'<br />');
document.write( RegExp.$1 +' '+ RegExp.$2);
</script> - 執行結果:
Hx
el dy
計算符合 x,但是不存入結果陣列。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/(?:e.).*(d.)/, 'x' ) +'<br />');
document.write( RegExp.$1 +' - '+ RegExp.$2);
</script> - 執行結果:
Hx
dy -
x 符合的條件要加上 x 之後必須接 y。雖然 y 是符合條件之一,但是 y 並不會被替換。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/e(?=l)/gi, 'x' ) );
</script> - 執行結果:
Hxllo Wendy
x 符合的條件要加上 x 之後不可接 y。雖然 y 是符合條件之一,但是 y 並不會被替換。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/e(?!l)/gi, 'x' ) );
</script> - 執行結果:
Hello Wxndy
符合 x 或 y 都可以。不限兩個參數,例如 d|e|f|g...。
- 程式用法:
<script type='text/javascript'>
var s='Hello Wendy';
document.write( s.replace(/e(?=(l|n))/gi, 'x' ) +'<br />');
document.write( s.replace(/(he|lo|dy)/gi, '12' ) );
</script> - 執行結果:
Hxllo Wxndy
12l12 Wen12
n 是正整數。符合正好發生 n 次。
- 程式用法:
<script type='text/javascript'>
var s='Helllllo Wendy';
document.write( s.replace(/el{2}/gi, 'x' ) +'<br />');
document.write( s.replace(/el{3}/gi, 'x' ) );
</script> - 執行結果:
Hxlllo Wendy
Hxllo Wendy