您现在的位置是:亿华云 > 数据库
一日一技:让你的正则表达式可读性提高一百倍
亿华云2025-10-08 23:14:22【数据库】7人已围观
简介正则表达式这个东西,强大是强大,但写出来跟个表情符号一样。自己写的表达式,过一个月来看,自己都不记得是什么意思了。比如下面这个:pattern = r"((?:\(\s*)?[A-Z]*H\d+[a-
正则表达式这个东西,日技让强大是正则强大,但写出来跟个表情符号一样。表达百倍自己写的读性表达式,过一个月来看,提高自己都不记得是日技让什么意思了。比如下面这个:
pattern = r"((?正则:\(\s*)?[A-Z]*H\d+[a-z]*(?:\s*\+\s*[A-Z]*H\d+[a-z]*)*(?:\s*[\):+])?)(.*?)(?=(?:\(\s*)?[A-Z]*H\d+[a-z]*(?:\s*\+\s*[A-Z]*H\d+[a-z]*)*(?:\s*[\):+])?(?![^\w\s])|$)"有没有什么办法提高正则表达式的可读性呢?我们知道,提高代码可读性的表达百倍方法之一就是写注释,源码库那么正则表达式能不能写注释呢?读性
例如对于下面这个句子:
msg = 我叫青南,我的提高密码是:123kingname456,请注意保密。我要提取其中的日技让密码123kingname456,那么我的正则正则表达式可能是这样的:
pattern = :(.*?),我能不能把它写成这样:
pattern =
: # 开始标志
(.*?) #从开始标志的下一个字符开始的任意字符
, #遇到英文逗号就停止
这样写就清晰多了,每个部分是云服务器表达百倍什么作用全都清清楚楚。
但显然直接使用肯定什么都提取不到,读性如下图所示:
但我今天在逛Python正则表达式文档的提高时候,发现了一个好东西:
使用它,可以让你的正则表达式拥有注释,如下图所示:
re.VERBOSE也可以简称为re.X,如下图所示:
本文最开头的复杂正则表达式,使用了注释以后,就会变得更可读:
pattern = r"""
( # code (capture)
# BEGIN multicode
(?: \( \s* )? # maybe open paren and maybe space
# code
[A-Z]*H # prefix
\d+ # digits
[a-z]* # suffix
(?: # maybe followed by other codes,
\s* \+ \s* # ... plus-separated
# code
[A-Z]*H # prefix
\d+ # digits
[a-z]* # suffix
)
*(?: \s* [\):+] )? # maybe space and maybe close paren or colon or plus
# END multicode
)
( .*? ) # message (capture): everything ...
(?= # ... up to (but excluding) ...
# ... the next code
# BEGIN multicode
(?: \( \s* )? # maybe open paren and maybe space
# code
[A-Z]*H # prefix
\d+ # digits
[a-z]* # suffix
(?: # maybe followed by other codes,
\s* \+ \s* # ... plus-separated
# code
[A-Z]*H # prefix
\d+ # digits
[a-z]* # suffix
)
*(?: \s* [\):+] )? # maybe space and maybe close paren or colon or plus
# END multicode
# (but not when followed by punctuation)
(?! [^\w\s] )
# ... or the end
| $
)
"""很赞哦!(98623)
相关文章
- 为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
- a、变更前的公司证件扫描件(代码证或者营业执照)及联系人身份证复印件、变更后的公司证件扫描件(代码证或者营业执照)及新的联系人身份证复印件;身份证复印件需本人签名,公司证件复印件需加盖公章。
- ④注册门槛低
- 顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
- tk域名是什么域名?新手对tk域名有什么看法?
- 5、使用企业名称的英文名称作为域名也是国内许多企业选择域名的一种方式,特别适合一些与计算机、网络和通信相关的行业。
- 域名和网址一样吗?域名和网址有什么区别?
- 旧域名的外链是否会对新建站点产生影响?
- 国内域名
- 一下域名,看有没有显示出你所解析的IP,如果有,就说明解析是生效的;如果没有,就说明解析是不生效的。
热门文章
站长推荐
什么样的邮箱才是安全的电子邮件地址?
旧域名的外链是否会对新建站点产生影响?
为什么大家都选优质域名?到底存在着什么好处?
4、待所有域名查询结束后可在右侧点击导出结果,即可以excel的文件方式将查询到的结果导出。
第三,.cc域名域名也有很多优势资源域名,从整体注册基数也可以由此推断;
国内域名
2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
公司在注册域名时还需要确保邮箱的安全性。如果邮箱不安全,它只会受到攻击。攻击者可以直接在邮箱中重置密码并攻击用户。因此,有必要注意邮箱的安全性。