鱼C论坛

 找回密码
 立即注册
查看: 3227|回复: 3

正则表达式中的修饰符re.L、re.U、re.X分别是怎么使用的?

[复制链接]
发表于 2022-2-13 23:08:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我现在在学正则表达式的相关案例,教程上对正则表达式的修饰符介绍的比较简单,其中re.L 做本地化识别(locale-aware)匹配,re.U: 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B,re.X:该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解,可否各提供一个实例帮助我理解一下呀?网上也几乎找不到比较好的案例说明呢~谢谢啦!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-14 20:35:12 | 显示全部楼层
isdkz 发表于 2022-2-14 00:07
re.L和re.U都是改变 \w、\W、\b、\B的行为的

re.L使\w、\W、\b、\B的匹配依赖于当前语言环境

谢谢你给我介绍的这么详细,这么清楚!但是我还有几个疑问想请教你一下:
1.re.match(r'你好# 这是一个注释 ', '你好') 这个match方法是匹配开头字符,那这个注释在你好之后出现为什么也会导致匹配不上的,还是不太理解啊~
2.re.match(r'你\s好', '你 好')  这个r应该是代表原始字符串吧,那就是说把\s就当成普通的字符,那么怎么会和你(空格)好匹配的上呢?不是应该不加r写成re.match('你\s好', '你 好') 才对嘛?
3.long_string='''
一杯敬朝阳
一杯敬月光
唤醒我的向往
温柔了寒窗
'''
re.search('一杯\w+一杯',long_string)
re.search('一杯\w+一杯',long_string,re.X)
我用这两个写法都没有匹配结果输出,不知道是什么原因?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 05:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表