正则表达式结尾匹配

正则表达式结尾匹配

正则表达式(Regular Expression,正则式,缩写为Regex或RegExp)是用来描述字符串模式的一种语言。

我们知道,正则表达式可以用来匹配字符串中的特定字符、数字等,而结尾匹配则是一种特殊形式的正则表达式匹配。

结尾匹配

结尾匹配指的是匹配以某个字符或字符串结尾的所有字符串。在正则表达式中,我们可以使用一个特殊符号$来标记结尾位置。

下面是一个例子:

const str1 = 'hello world';
const str2 = 'hello earthling';
const regex = /world$/;
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false

如上代码所示,我们定义了一个正则表达式/world$/,它表示匹配所有以world结尾的字符串。我们将其作为test方法的参数,分别传入两个字符串,打印结果可以发现,只有第一个字符串符合条件,第二个字符串不符合。

同样,我们可以使用其他形式的结尾匹配,比如匹配以某个数字结尾的字符串,代码如下:

const str1 = 'hello 007';
const str2 = 'hello 7001';
const regex = /7$/;
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false

同样是使用了$符号,只不过我们这次是匹配以数字7结尾的字符串,并且它不区分字符类型。同样是传入两个字符串,打印出结果可以看到,只有第一个字符串符合条件。

结尾匹配同样适用于其他编程语言,比如使用Python语言,代码如下所示:

import re

str1 = 'hello world'
str2 = 'hello earthling'
pattern = re.compile(r'world$')
print(pattern.search(str1)) # 在str1中匹配world
print(pattern.search(str2)) # 在str2中不匹配world

如上代码所示,我们使用了Python自带的re模块,将正则表达式/world$/编译成一个模式对象并赋值给变量pattern,然后再分别对str1和str2进行匹配。可以看到,模式对象在str1中匹配到了world,而在str2中则没有匹配到。

结论

结尾匹配是正则表达式中一种特殊的匹配形式,它可以用来匹配所有以某个字符或字符串结尾的字符串。在实际开发中,有时候我们会需要对字符串进行这样的匹配,例如匹配邮箱或网址等末尾字符的验证。因此掌握结尾匹配的用法,可以在很多场合下起到很大的作用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程