English
RegExp 对象用于将文本与一个模式匹配。
返回一个字符串,由当前正则表达式对象的标志组成。此属性是一个只读属性 此字符串中的字符按以下顺序排序和连接:
如果没有设置标志,则该值为空字符串。
console.log(/foo/ig.flags);
// expected output: "gi"
console.log(/bar/myu.flags);
// expected output: "muy"
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
返回一个值为当前正则表达式对象的模式文本的字符串,该字符串不会包含正则字面量两边的斜杠以及任何的标志字符。
const regex1 = /fooBar/ig;
console.log(regex1.source);
// expected output: "fooBar"
console.log(new RegExp().source);
// expected output: "(?:)"
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
表明正则表达式是否使用了 "g" 标志。global 是一个正则表达式实例的只读属性。
var regex = new RegExp("foo", "g")
console.log(regex.global) // true
// expected output: "muy"
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
表明正则表达式是否使用了 "i" 标志。ignoreCase 是正则表达式实例的只读属性。
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
表明正则表达式是否使用了 "m" 标志。multiline 是正则表达式实例的一个只读属性。
var regex = new RegExp("foo", "m");
console.log(regex.multiline);
// expected output: true
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
正则表达式的一个可读可写的整型属性,用来指定下一次匹配的起始索引。
const regex1 = new RegExp('foo', 'g');
const str1 = 'table football, foosball';
regex1.test(str1);
console.log(regex1.lastIndex);
// expected output: 9
regex1.test(str1);
console.log(regex1.lastIndex);
// expected output: 19
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null。
Parameters
name | type | required | description |
---|---|---|---|
string | string | YES | 要匹配正则表达式的字符串。 |
Return value
Type | description |
---|---|
RegExpExecArray | null | 如果匹配失败,exec() 方法返回 null,并将正则表达式的 lastIndex 重置为 0。如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的 lastIndex 属性。完全匹配成功的文本将作为返回数组的第一项,从第二项起,后续每项都对应一个匹配的捕获组。 |
const regex1 = RegExp('foo*', 'g');
const str1 = 'table football, foosball';
let array1;
while ((array1 = regex1.exec(str1)) !== null) {
console.log(`Found ${array1[0]}. Next starts at ${regex1.lastIndex}.`);
// expected output: "Found foo. Next starts at 9."
// expected output: "Found foo. Next starts at 19."
}
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |
执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。
Parameters
name | type | required | description |
---|---|---|---|
string | string | YES | 用来与正则表达式匹配的字符串。 |
Return value
Type | description |
---|---|
boolean | 如果正则表达式与指定的字符串匹配,返回true;否则false。如果正则表达式设置了全局标志,test() 的执行会改变正则表达式 lastIndex属性。连续的执行test()方法,后续的执行将会从 lastIndex 处开始匹配字符串。 |
const str = 'table football';
const regex = new RegExp('foo*');
const globalRegex = new RegExp('foo*', 'g');
console.log(regex.test(str));
// expected output: true
console.log(globalRegex.lastIndex);
// expected output: 0
console.log(globalRegex.test(str));
// expected output: true
console.log(globalRegex.lastIndex);
// expected output: 9
console.log(globalRegex.test(str));
// expected output: false
Compatibility
Android version | Android uni-app | Android uni-app-x | iOS version | iOS uni-app | iOS uni-app-x |
---|---|---|---|---|---|
4.4 | √ | 3.9.0 | 9.0 | √ | x |