在正则表达式中,$ 量词用于匹配字符串的结尾。它表示一个字符串结束的位置。在 JavaScript 中,$ 量词可以与其他正则表达式元字符一起使用,以实现更复杂的匹配模式。
基本用法
$ 量词用法非常简单,只需将其放在正则表达式的末尾即可。例如,正则表达式 /hello$/ 将匹配以 "hello" 结尾的字符串。
const regex = /hello$/; console.log(regex.test("hello world")); // true console.log(regex.test("world hello")); // false
在上面的示例中,正则表达式 /hello$/ 匹配以 "hello" 结尾的字符串,因此第一个测试返回 true,而第二个测试返回 false。
多行模式
在 JavaScript 的正则表达式中,$ 量词默认只匹配整个字符串的结尾。如果要匹配每行的结尾,可以使用多行模式(m 标志)。
const regex = /hello$/m; console.log(regex.test("hello world\nhello universe")); // true console.log(regex.test("hello world\nhello universe\n")); // false
在上面的示例中,正则表达式 /hello$/m 匹配每行以 "hello" 结尾的字符串。第一个测试返回 true,因为第一行以 "hello" 结尾,第二个测试返回 false,因为第二行以 "hello" 结尾,但最后一行包含一个换行符。
结合其他量词
$ 量词可以与其他量词一起使用,以实现更复杂的匹配模式。例如,结合 * 量词可以匹配零个或多个字符后面跟着 "hello" 的字符串。
const regex = /.hello$/; console.log(regex.test("world hello")); // true console.log(regex.test("hello")); // false
在上面的示例中,正则表达式 /.hello$/ 匹配以任意字符后跟着 "hello" 结尾的字符串。第一个测试返回 true,因为 "world hello" 匹配这个模式,第二个测试返回 false,因为 "hello" 不符合这个模式。
总结
$ 量词是正则表达式中非常有用的一个元字符,用于匹配字符串的结尾。结合其他量词和标志一起使用,可以实现更灵活和复杂的匹配模式。熟练掌握 $ 量词的用法,可以帮助我们更高效地处理字符串匹配和处理的任务。