python学习——正则表达式

匹配单个字符
符号 说明
. 可匹配任意一个字符(除了换行 \n)
[ ] 匹配 [ ] 中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即[\t \n\ r \f]
\S 匹配非空白
\w 匹配字母数字及下划线
\W 匹配非字母数字及下划线
匹配多个字符
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少有1次
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m} 匹配前一个字符出现m次
{n,m} 匹配前一个字符出现从n到m次

注:单个字符和多个字符的匹配混合使用
练习:

import re


def main():
    # htm = "<dd class=job_bt><h3 class=\"description\">职位描述:</h3></dd>"
    htm = """<dd class=job_bt>
        <h3 class="description">职位描述:</h3>
        <div>
        <p>工作职责:
	<br>1. 参与新闻舆情系统开发;
	<br>2. 参与新闻数据加工,流转,数据产品开发;
	<br>3. 数据相关的后端服务开发;
	<br>4. 参与新技术调研和基础模块开发<br>
	<br>任职资格:
	<br>1. 计算机相关专业,有扎实的计算机理论基础;
	<br>2. 熟悉Python, Java, C/C++, Go等任意开发语言, 有良好的编程风格和习惯;
	<br>3. 熟悉网络协议,熟悉linux,mysql,redis等;
	<br>4. 有socket编程经验, 熟悉网络开发模式,开源web服务器;
	<br>5. 有较好的交流沟通能力,较强的责任感;
	<br>
        </p>
        </div>
</dd>"""

    ret = re.sub(r"<+\w*\d*\s*\w*[=\"/]*\w*[\"]*>+", "", htm)
    if ret:
        # print("%s 匹配。。。" % htm)
        print(ret)
    else:
        print("%s 不匹配。。。" % htm)

if __name__ == '__main__':
    main()

python学习——正则表达式

相关文章: