@@ -137,7 +137,7 @@ new RegExp('').test('abc')
137
137
138
138
### RegExp.prototype.exec()
139
139
140
- 正则实例对象的` exec ` 方法,用来返回匹配结果。如果发现匹配,就返回一个数组,成员是匹配成功的子字符串,否则返回` null ` 。
140
+ 正则实例对象的` exec() ` 方法,用来返回匹配结果。如果发现匹配,就返回一个数组,成员是匹配成功的子字符串,否则返回` null ` 。
141
141
142
142
``` javascript
143
143
var s = ' _x_x' ;
@@ -159,12 +159,12 @@ var r = /_(x)/;
159
159
r .exec (s) // ["_x", "x"]
160
160
```
161
161
162
- 上面代码的` exec ` 方法,返回一个数组。第一个成员是整个匹配的结果,第二个成员是圆括号匹配的结果。
162
+ 上面代码的` exec() ` 方法,返回一个数组。第一个成员是整个匹配的结果,第二个成员是圆括号匹配的结果。
163
163
164
- ` exec ` 方法的返回数组还包含以下两个属性:
164
+ ` exec() ` 方法的返回数组还包含以下两个属性:
165
165
166
166
- ` input ` :整个原字符串。
167
- - ` index ` :整个模式匹配成功的开始位置 (从0开始计数)。
167
+ - ` index ` :模式匹配成功的开始位置 (从0开始计数)。
168
168
169
169
``` javascript
170
170
var r = / a(b+ )a/ ;
@@ -178,7 +178,7 @@ arr.input // "_abbba_aba_"
178
178
179
179
上面代码中的` index ` 属性等于1,是因为从原字符串的第二个位置开始匹配成功。
180
180
181
- 如果正则表达式加上` g ` 修饰符,则可以使用多次` exec ` 方法,下一次搜索的位置从上一次匹配成功结束的位置开始。
181
+ 如果正则表达式加上` g ` 修饰符,则可以使用多次` exec() ` 方法,下一次搜索的位置从上一次匹配成功结束的位置开始。
182
182
183
183
``` javascript
184
184
var reg = / a/ g ;
@@ -204,7 +204,7 @@ r4 // null
204
204
reg .lastIndex // 0
205
205
```
206
206
207
- 上面代码连续用了四次` exec ` 方法,前三次都是从上一次匹配结束的位置向后匹配。当第三次匹配结束以后,整个字符串已经到达尾部,匹配结果返回` null ` ,正则实例对象的` lastIndex ` 属性也重置为` 0 ` ,意味着第四次匹配将从头开始。
207
+ 上面代码连续用了四次` exec() ` 方法,前三次都是从上一次匹配结束的位置向后匹配。当第三次匹配结束以后,整个字符串已经到达尾部,匹配结果返回` null ` ,正则实例对象的` lastIndex ` 属性也重置为` 0 ` ,意味着第四次匹配将从头开始。
208
208
209
209
利用` g ` 修饰符允许多次匹配的特点,可以用一个循环完成全部匹配。
210
210
@@ -222,7 +222,7 @@ while(true) {
222
222
// #8:a
223
223
```
224
224
225
- 上面代码中,只要` exec ` 方法不返回` null ` ,就会一直循环下去,每次输出匹配的位置和匹配的文本。
225
+ 上面代码中,只要` exec() ` 方法不返回` null ` ,就会一直循环下去,每次输出匹配的位置和匹配的文本。
226
226
227
227
正则实例对象的` lastIndex ` 属性不仅可读,还可写。设置了` g ` 修饰符的时候,只要手动设置了` lastIndex ` 的值,就会从指定位置开始匹配。
228
228
0 commit comments