正则表达式的内容很多,也很灵活和强大,有必须做下记录,进行汇总。
01-初学Python的re模块的正则表达式的常用方法与常见问题记录
链接1:https://blog.csdn.net/wenhao_ir/article/details/125960370
链接2:https://blog.csdn.net/wenhao_ir/article/details/125921141
02- 正则表达式中+ 与 * 有啥区别?
https://blog.csdn.net/wenhao_ir/article/details/131289181
03-Python的正则表达式re模块的compile()方法有什么作用?
https://blog.csdn.net/wenhao_ir/article/details/132026895
04-正则表达式中的符号^和符号$分别是什么意思,有什么用?
在正则表达式中,符号^
(脱字符号)表示匹配字符串的开头位置。它用于指示要匹配的模式应该出现在字符串的开头。具体来说,正则表达式中的^用于匹配字符串的起始位置,而不是匹配字符本身。
例如,如果你使用正则表达式^abc
,它将匹配以"abc"开头的字符串。这意味着它只会匹配那些以"abc"开始的字符串,而不会匹配包含"abc"但不是以它开头的字符串。
在正则表达式中,符号$
表示匹配字符串的末尾位置。它用于指示要匹配的模式应该出现在字符串的末尾。具体来说,正则表达式中的$
用于匹配字符串的结束位置,而不是匹配字符本身。
例如,如果你使用正则表达式\d$
,它将匹配以数字结尾的字符串。这意味着它只会匹配那些在末尾是数字的字符串,而不会匹配包含数字但不以数字结尾的字符串。
组合使用 ^
和 $
,可以确保正则表达式必须在整个字符串范围内进行完整的匹配。
举个例子,假设有以下字符串列表:
strings = ["hello world", "world hello", "hello", "hello world again"]
如果我们使用正则表达式 hello
进行匹配,它将匹配到所有包含 “hello” 子串的字符串:
- “hello world”
- “world hello”
- “hello world again”
但如果我们使用正则表达式 ^hello$
进行匹配,它将只匹配整个字符串内容为 “hello” 的字符串,即只有 “hello” 这个字符串会被匹配。
04-正则表达式中的小括号有什么用?
通常用来使逻辑更为清楚,比如在匹配中国大陆手机号的正则表达式中:
有括号的正则表达式:
r'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$'
比无括号的正则表达式:
r'^13[0-9]|15[012356789]|17[678]|18[0-9]|14[57][0-9]{8}$'
逻辑上更为清晰,避免了看着一饼粘的效果。
05-正则表达式中的方括号[]有什么用?
链接:https://blog.csdn.net/wenhao_ir/article/details/132028092
06-正则表达式中的大括号-花括号{}有什么用?
链接:https://blog.csdn.net/wenhao_ir/article/details/132028331