正则表达式匹配开头和结尾(^、$、[^指定字符])

技术博客 (130) 2023-09-16 15:39:10

1. 匹配开头和结尾

代码 功能
^ 匹配字符串开头
$ 匹配字符串结尾

示例1:^

需求:匹配以数字开头的数据

import re

# 匹配以数字开头的数据
match_obj = re.match("^\d.*", "1hello_world!")
print(match_obj)
if match_obj:
    # 获取匹配结果
    print(match_obj.group())
else:
    print("匹配失败")

match_obj2 = re.match("^\d.*", "hello_world!")
print(match_obj2)
if match_obj2:
    # 获取匹配结果
    print(match_obj2.group())
else:
    print("匹配失败")

运行结果:

正则表达式匹配开头和结尾(^、$、[^指定字符]) (https://mushiming.com/) 技术博客 第1张

示例2:$

需求: 匹配以数字结尾的数据

import re

# 匹配以数字结尾的数据
match_obj = re.match(".*\d$", "hello_world5")
print(match_obj)
if match_obj:
    # 获取匹配结果
    print(match_obj.group())
else:
    print("匹配失败")

match_obj2 = re.match(".*\d$", "hello_world")
print(match_obj2)
if match_obj2:
    # 获取匹配结果
    print(match_obj2.group())
else:
    print("匹配失败")

运行结果:

正则表达式匹配开头和结尾(^、$、[^指定字符]) (https://mushiming.com/) 技术博客 第2张

示例3:^ 和 $

需求: 匹配以数字开头,中间内容不管,以数字结尾

import re

match_obj = re.match("^\d.*\d$", "4hello_world4")
print(match_obj)
if match_obj:
    # 获取匹配结果
    print(match_obj.group())
else:
    print("匹配失败")

运行结果:

正则表达式匹配开头和结尾(^、$、[^指定字符]) (https://mushiming.com/) 技术博客 第3张

2.除了指定字符以外都匹配

[^指定字符]: 表示除了指定字符都匹配

需求: 第一个字符除了aeiou的字符都匹配

import re

match_obj = re.match("[^abc]", "ILoveChina")
if match_obj:
    # 获取匹配结果
    print(match_obj.group())
else:
    print("匹配失败")

match_obj2 = re.match("[^abc]", "aaa")
if match_obj2:
    # 获取匹配结果
    print(match_obj2.group())
else:
    print("匹配失败")

match_obj3 = re.match("[^abc].*", "China")
if match_obj3:
    # 获取匹配结果
    print(match_obj3.group())
else:
    print("匹配失败")

match_obj4 = re.match("[^abc]*", "China")
if match_obj4:
    # 获取匹配结果
    print(match_obj4.group())
else:
    print("匹配失败")

执行结果:

正则表达式匹配开头和结尾(^、$、[^指定字符]) (https://mushiming.com/) 技术博客 第4张

THE END

发表回复