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

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("匹配失败")

运行结果:

示例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("匹配失败")

运行结果:

示例3:^ 和 $

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

import re

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

运行结果:

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("匹配失败")

执行结果:


版权声明:本文为weixin_44799217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。