官术网_书友最值得收藏!

  • JavaScript:Moving to ES2015
  • Ved Antani Simon Timms Narayan Prusty
  • 254字
  • 2021-07-09 19:07:34

Backreferences

After an expression is evaluated, each group is stored for later use. These values are known as backreferences. Backreferences are created and numbered by the order in which opening parenthesis characters are encountered going from left to right. You can think of backreferences as the portions of a string that are successfully matched against terms in the regular expression.

The notation for a backreference is a backslash followed by the number of the capture to be referenced, beginning with 1, such as \1, \2, and so on.

An example could be /^([XYZ])a\1/, which matches a string that starts with any of the X, Y, or Z characters followed by an a and followed by whatever character matched the first capture. This is very different from /[XYZ] a[XYZ]/. The character following a can't be any of X, or Y, or Z, but must be whichever one of those that triggered the match for the first character. Backreferences are used with String's replace() method using the special character sequences, $1, $2, and so on. Suppose that you want to change the 1234 5678 string to 5678 1234. The following code accomplishes this:

var orig = "1234 5678";
var re = /(\d{4}) (\d{4})/;
var modifiedStr = orig.replace(re, "$2 $1"); 
console.log(modifiedStr); //outputs "5678 1234" 

In this example, the regular expression has two groups each with four digits. In the second argument of the replace() method, $2 is equal to 5678 and $1 is equal to 1234, corresponding to the order in which they appear in the expression.

主站蜘蛛池模板: 定兴县| 安阳市| 镇江市| 新兴县| 闸北区| 云南省| 株洲县| 山阴县| 平远县| 鄂伦春自治旗| 古浪县| 固始县| 栾城县| 隆回县| 库车县| 健康| 赣州市| 大城县| 鱼台县| 镇坪县| 元江| 新乡市| 华宁县| 肥西县| 东兰县| 福泉市| 凯里市| 江陵县| 驻马店市| 长沙市| 兰溪市| 东乡| 怀化市| 泌阳县| 芜湖县| 汉阴县| 五河县| 瑞丽市| 吉隆县| 繁峙县| 玉溪市|