python下正则表达式之开始结束和或语法

1. 异或号^表示以…开始 , 若在[]中表示取反操作

import re

text = "hello"

res = re.search("^h", text)
res1 = re.search("^e", text)

print(res.group())
print(res1)

输出结果为
h
None

Process finished with exit code 0

2. $表示以…结尾

post = "xxx@163.com"

res = re.search("\w+@163\.com$", post)

print(res.group())

输出结果为
xxx@163.com

Process finished with exit code 0

3. |表示匹配多个字符串或表达式

url = "https"
url1 = "thhp"

res = re.match("(http|https|ftp)$", url)
res1 = re.match("(http|https|ftp)$", url1)

print(res.group())

输出结果为
https
None

Process finished with exit code 0

4. 贪婪模式和非贪婪模式

贪婪模式会匹配符合正则表达式的尽可能长的字符串,而非贪婪模式则会匹配符合正则表达式的尽可能短的字符串

text = "<h1>标题</h1>"

#贪婪模式
res = re.match("<.+>", text)

#非贪婪模式
res1 = re.match("<.+?>", text)

print(res.group())
print(res1.group())

输出结果为
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正则表达式是一种强大的文本匹配工具,Python中使用re模块来支持正则表达式操作。下面是一些常用的正则表达式语法: 1. 字符匹配: - 普通字符:使用普通字符直接匹配,例如 `a` 匹配字符 "a"。 - 元字符:一些特殊字符具有特殊含义,例如 `.` 匹配任意字符,`\d` 匹配数字,`\w` 匹配字母数字下划线等。 - 字符集合:使用方括号 [] 表示字符集合,可以匹配括号内的任意一个字符。例如 `[abc]` 匹配字符 "a"、"b" 或 "c"。 - 反义字符集合:使用 `^` 在字符集合内表示取反。例如 `[^abc]` 匹配除了 "a"、"b"、"c" 之外的任意一个字符。 2. 重复匹配: - `*`:匹配前一个字符的零个或多个重复。例如 `a*` 可以匹配 "a"、"aa"、"aaa" 等。 - `+`:匹配前一个字符的一个或多个重复。例如 `a+` 可以匹配 "a"、"aa"、"aaa" 等。 - `?`:匹配前一个字符的零个或一个重复。例如 `a?` 可以匹配 "a" 或空字符串。 - `{n}`:匹配前一个字符的恰好 n 次重复。例如 `a{3}` 只能匹配 "aaa"。 - `{n,}`:匹配前一个字符的至少 n 次重复。例如 `a{2,}` 匹配 "aa"、"aaa"、"aaaa" 等。 - `{n,m}`:匹配前一个字符的 n 到 m 次重复。例如 `a{2,4}` 匹配 "aa"、"aaa"、"aaaa"。 3. 边界匹配: - `^`:匹配输入字符串的开始位置。 - `$`:匹配输入字符串的结束位置。 - `\b`:匹配单词边界,即单词前后的空格、标点等符号。 4. 分组和捕获: - `()`:用于分组和捕获,可以将多个字符看作一个整体进行匹配。 - `(?:)`:用于非捕获分组,只进行匹配不捕获。 这只是正则表达式语法的一小部分,更多的语法规则和用法可以参考Python官方文档或其他正则表达式教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值