博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python正则表达式的基础语法:
阅读量:3904 次
发布时间:2019-05-23

本文共 1479 字,大约阅读时间需要 4 分钟。

python 正则表达式:

调用re模块:注意用findall返回的是列表

概括字符集:\d \D

\w :a-z/A-Z/0-9 单词字符 \W 非单词字符

\s :匹配空白字符 如 \n \t 空格 \n

\S:非空白字符

匹配汉字:"[\u4e00-\u9fA5]"

#.匹配除换行符\n之外其他所有字符

数量词:

当我在正则匹配中遇到一个问题 :

#这是源码:

line5 = "xxx出生于2008年6月5日"

match_object = ".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}|[月/-]\d{1,2}[日]|[月/-]$|$))"

r = re.match(match_object,line2)

print(r.group(1))

无论如何 都匹配不到“日”

最后发现 如果匹配到了第一个符合的 就不会匹配了:切记一点

       在正则中 需要匹配最长的字符串 然后在匹配其他的:

       下面是改良版的:

       match_object = ".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}[日]|[月/-]$|$|[月/-]\d{1,2}))"

       改变一下匹配的位置即可。

        def filter_tags(content):  ###对网页源码做处理,保留文本内容

            re_cdata = re.compile('//<!\[CDATA\[[^>]*//\]\]>', re.I)  # 匹配CDATA  /<![CDATA[

            re_script = re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>', re.I)  # Script ===========

            re_style = re.compile('<\s*style[^>]*>[^<]*<\s*/\s*style\s*>', re.I)  # style    ==========

            re_br = re.compile('<br\s*?/?>')  # 处理br  ========

            re_h = re.compile('</?\w+[^>]*>')  # HTML标签

            re_comment = re.compile('<!--[^>]*-->')  # HTML注释 ========

            re_rn = re.compile('\\r|\\n|\\t')  # 处理换行和制表符   ======

            re_xa = re.compile('\xa0')  # 处理空白符   ======

            re_s = re.compile('\s')  # 处理空格    =======

            s = re_cdata.sub('', content)  # 去掉CDATA

            s = re_script.sub('', s)  # 去掉SCRIPT

            s = re_style.sub('', s)  # 去掉style

            s = re_br.sub('', s)  # 将br转换为换行

            s = re_h.sub('', s)  # 去掉HTML 标签

            s = re_comment.sub('', s)  # 去掉HTML注释

            s = re_rn.sub('', s)  # 去掉换行空格=====

            s = re_xa.sub('', s)  # 去掉空白符=====

            s = re_s.sub('', s)  # 去掉空格======

            return s

        if __name__ == '__main__':

            print(filter_tags(content))

你可能感兴趣的文章
Naive Pattern Searching
查看>>
Sales Engineer
查看>>
US Shirt Size
查看>>
recursive tree
查看>>
An Introduction to Python Lists
查看>>
gstack - stack trace of a running process
查看>>
strace
查看>>
Mac OS X Install Docker
查看>>
Quickstart containers
查看>>
About the Docker Hub
查看>>
About Docker
查看>>
Hello world in a container
查看>>
Run a simple application
查看>>
Build Your Own Images
查看>>
Networking Containers
查看>>
Manage Data in Containers
查看>>
Docker Swarm Overview
查看>>
Overview of Docker Compose
查看>>
Docker Machine
查看>>
Union Mount
查看>>