【python】正则表达式获取指定部分
1. 问题
假设一篇文章中,有多个字符串,例如:content = "2_jiajikang$$d3434_erermdmakg_rdfdflt.txt"
。
其中,2_
和$$
部分是固定的,用户只需要2_
和$$
之间的部分。该怎么去匹配那???
2. 解决方案
import re
content = "2_jiajikang$$27901_dfdfdf_dadfdnfn.txt"
pattern = r"(?<=_).*?(?=\$)"
sttr = re.search(pattern,content)
print(f'content={content},pattern={pattern}') #字符串长度
print(f'sstr={sttr.group()},type={type(sttr.group())}')
3. 结果展示
4. 福利小工具:RegexBuddy
5. 展望
exp1(?=exp2):查找 exp2 前面的 exp1。
(?<=exp2)exp1:查找 exp2 后面的 exp1。
exp1(?!exp2):查找后面不是 exp2 的 exp1。
(?<!exp2)exp1:查找前面不是 exp2 的 exp1。