python 利用正则表达式提取特殊信息

1、删除字符串中的 Python注释

案例:

import re
time = "2020-01-01 # 这是一个日期"
num = re.sub(r'#.*$', "", time)#以#为分隔,去掉后面的信息
print("这个时间是:", num)

结果:

这个时间是: 2020-01-01

2、截取某符号前后的内容

案例1:

txt = '我的电话是:131-246-XXX19'
a = txt.split(':')[0]#0表示符号前
b = txt.split(':')[1]#[-1]和[1]结果一样,表示符号后面
print ("a的结果是:",a)
print ("b的结果是:",b)

结果:

a的结果是: 我的电话是 b的结果是: 131-246-XXX19

案例2:

txt = "I love python . 我热爱python"
text = re.sub(r'\..*$', "", txt)#以.为分隔,\为转义字符,与后面的.区分开
print("这个截取结果是:", text)

结果:

这个截取结果是: I love python

3、删除非数字的字符串

案例:

import re
time = "2020-01-01 # 这是一个日期"
num = re.sub(r'\D', "", time)
print("这个时间是:", num)

结果:

这个时间是: 20200101

4、只保留中文

案例:

reg = "[^\u4e00-\u9fa5]"
text = "好吧!E我aa们$$开始34学习--python吧!"
print(re.sub(reg, '', text))

结果:

好吧我们开始学习吧

5、只保留中文、大小写字母和阿拉伯数字

案例:

reg = "[^0-9A-Za-z\u4e00-\u9fa5]"
text = "好吧!E我aa们$$开始34学习--python吧!"
print(re.sub(reg, '', text))

结果:

好吧E我aa们开始34学习python吧

6、去掉大小写字母和数字

案例:

import re
txt="Ayouleyang阿~优乐-扬"
text = re.sub('[a-zA-Z0-9]','',txt)
print(text)

结果:

阿~优乐-扬 1

7、去掉某个特殊字符

案列:

import re
txt = '阿*a#优$乐. :扬 ;:youle+'
text = re.sub('[,;;youle: :.;,$*#]+', "", txt)#[]中的符号都会被替换,类似于replace()
print(text)

结果:

阿a优乐扬+ 1

8、保留英文,数字和特殊符号

案例:

reg = "[^0-9A-Za-z\u4e00-]"#只保留英文,数字和-,u4e00“-”是需要保留的符号
txt = "好吧!我的号码是131-246-XXX19!::"
text = re.sub(reg, '', txt)
print(text)

结果:

131-246-XXX19

总结

以上所述是小编给大家介绍的python 利用正则表达式提取特殊信息,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • python使用正则表达式提取网页URL的方法

    本文实例讲述了python使用正则表达式提取网页URL的方法.分享给大家供大家参考.具体实现方法如下: import re import urllib url="http://www.jb51.net" s=urllib.urlopen(url).read() ss=s.replace(" ","") urls=re.findall(r"<a.*?href=.*?<\/a>",ss,re.I) for i i

  • Python正则表达式匹配和提取IP地址

    Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$", "236.168.192.1"): print "IP vaild" else: print "IP invaild" 精确的匹配给定的字符串是否是IP地址 import re if re.match(r&q

  • python利用正则表达式提取字符串

    前言 正则表达式的基础知识就不说了,有兴趣的可以点击这里,提取一般分两种情况,一种是提取在文本中提取单个位置的字符串,另一种是提取连续多个位置的字符串.日志分析会遇到这种情况,下面我会分别讲一下对应的方法. 一.单个位置的字符串提取 这种情况我们可以使用(.+?)这个正则表达式来提取. 举例,一个字符串"a123b",如果我们想提取ab之间的值123,可以使用findall配合正则表达式,这样会返回一个包含所以符合情况的list. 代码如下: import re str = "

  • python正则表达式从字符串中提取数字的思路详解

    python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## \D 匹配任意非数字字符. ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符). ## x* 匹配0次或者多次 x 字符. ## x+ 匹配1次或者多次 x 字符. ## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次. ## (a|b|c) 要么匹配

  • 基于Python正则表达式提取搜索结果中的站点地址

    正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址. 这其中涉及几个需要解决的问题: 1.获取搜索的结果文本 为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果. 获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本 2.分析如何提取站点信息 首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息. 我使用IE8自带的开发工具(按F12就会弹出来

  • Python使用正则表达式去除(过滤)HTML标签提取文字功能

    正则表达式是一个特殊的字符序列,可以帮助您使用模式中保留的专门语法来匹配或查找其他字符串或字符串集. 正则表达式在UNIX世界中被广泛使用. 下面给大家介绍下Python使用正则表达式去除(过滤)HTML标签提取文字,具体代码如下所示: # -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tags(htmlstr): #先过滤CDATA re_cdata=

  • python 根据正则表达式提取指定的内容实例详解

    python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事. 下面演示了在python里,通过正则表达式来提取符合要求的内容. 实例代码: import re # 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事. # 下面演示了在python里,通过正则表达式来提取符合要求的内容.有几个要注意 # 的地方就是: # [1] 要用()将需要的内容包含起来 # [2] 编号为0的group是整个符合正则表达式的内容,编号为1的是

  • python 利用正则表达式提取特殊信息

    1.删除字符串中的 Python注释 案例: import re time = "2020-01-01 # 这是一个日期" num = re.sub(r'#.*$', "", time)#以#为分隔,去掉后面的信息 print("这个时间是:", num) 结果: 这个时间是: 2020-01-01 2.截取某符号前后的内容 案例1: txt = '我的电话是:131-246-XXX19' a = txt.split(':')[0]#0表示符号前

  • Python利用正则表达式从字符串提取数字

    目录 前言 利用正则表达式从字符串提取数字 附python正则表达式抽取文本中的时间日期 总结 前言 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. 利用正则表达式从字符串提取数字 主要用到下面几个函数 (1)compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则

  • Python利用正则表达式实现计算器算法思路解析

    (1)不使用eval()等系统自带的计算方法 (2)实现四则混合运算.括号优先级解析 思路: 1.字符串预处理,将所有空格去除 2.判断是否存在括号运算,若存在进行第3步,若不存在则直接进入第4步 3.利用正则表达式获取最底层括号内的四则运算表达式 4.将四则运算表达式进行预处理:表达式开头有负数时,在表达式前加上一个0 5.利用re.split().re.findall()方法,通过加减符号,对四则运算进行拆分为乘除运算式和数字,并保留对应的位置下标. 6.利用re.split().re.fi

  • Python利用正则表达式匹配并截取指定子串及去重的方法

    本文实例讲述了Python利用正则表达式匹配并截取指定子串及去重的方法.分享给大家供大家参考.具体如下: import re pattern=re.compile(r'\| (\d+) \| (\d+) \|') numset=set() all=''' | 29266795 | 533 | | 29370116 | 533 | | 29467495 | 533 | | 29500404 | 533 | | 29500622 | 533 | | 29515964 | 530 | | 295160

  • Java利用正则表达式提取数据的方法

    什么是正则表达式 正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. Java利用正则表达式提取数据 Java正则表达式的用途很广,之前要用到将一大 3M 的 txt 文本切分成多个小文本,用 C# 写的话很简洁,代码也就二十几行,今天用 Java 写了一下,果然,Java 很罗嗦. 切分文件的代码

  • python 用正则表达式筛选文本信息的实例

    本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本. 文本基础操作 打开文件:open('文件名','打开方式')>>>file=open(r'C:\Users\yuanlei\Desktop\mytxt.txt','w+').为避免报错,在文件名的引号前加个r. 文件打开方式:只读--r或rt,rb为二进制文件:打开文件前清空文件内容--w或wt:在文末写入--a+: 清空内容然后在文末写入--w+:写到文件任意位置--r+; 关

  • python用正则表达式提取/匹配中文汉字

    目录 python用正则表达式提取中文 python正则如何匹配中文汉字 总结 python用正则表达式提取中文 Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用 unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符 >>> import re >>> s='中文:123456aa哈哈哈bbcc'.decod

随机推荐