📅  最后修改于: 2023-12-03 14:42:36.566000             🧑  作者: Mango
Javascript是一种强大的脚本语言,其中正则表达式是一个特别有用的功能。在Javascript中,可以使用正则表达式标志来控制正则表达式的行为。下面将介绍Javascript中常用的正则表达式标志,并说明它们是如何工作的。
'i'标志表示忽略大小写。使用'i'标志后,正则表达式会忽略字母的大小写。例如:
const regex = /hello/i;
console.log(regex.test('Hello, world!')); // true
console.log(regex.test('HELLO, WORLD!')); // true
'g'标志表示全局匹配。使用'g'标志后,正则表达式将匹配所有符合条件的字符串。例如:
const regex = /hello/g;
console.log('hello, world!'.match(regex)); // ['hello']
console.log('hello, hello, world!'.match(regex)); // ['hello', 'hello']
'm'标志表示多行匹配。使用'm'标志后,正则表达式将匹配多行文本字符串。例如:
const regex = /^hello/m;
console.log('hello, world\nHello, world'.match(regex)); // ['hello', 'Hello']
's'标志表示点号匹配任意字符。使用's'标志后,正则表达式将点号(.)匹配任意字符,包括换行符。例如:
const regex = /hello.world/s;
console.log(regex.test('hello\nworld')); // true
'y'标志表示粘性匹配。使用'y'标志后,正则表达式将从目标字符串的当前位置开始匹配。例如:
const regex = /hello/y;
console.log(regex.exec('hello, world')); // ['hello']
console.log(regex.exec('hello, world')); // null
console.log(regex.exec('world hello')); // null
'u'标志表示Unicode字符序列的匹配。使用'u'标志后,正则表达式将匹配Unicode字符。例如:
const regex = /\u{1F47B}/u;
console.log(regex.test('👻')); // true
console.log(regex.test('🐶')); // false
以上就是Javascript中常用的正则表达式标志。使用它们可以控制正则表达式的行为,从而实现更精确的字符串匹配。