当前位置:首页 » 编程语言 » python正则表达式空格

python正则表达式空格

发布时间: 2025-04-10 00:16:15

‘壹’ python的正则表达式

1,正则表达式的一些内容

        正则表达式主要是用来匹配文本中需要查找的内容,例如在一片文章中找出电话号码,就中国的来说11位纯数字(不说座机),则使用"d{11}" 意味匹配数字11次,就能准确的查找出文本中的电话号码. 还有就是在编写网络爬虫的时候需要提取很多超链接再次进行爬取,使用正则表达式就很方便.直接匹配http开头就行,当然也可以使用beautifulsoup的select方法.

看下面的程序看看正则表达提取文本中的邮箱:


w 匹配字母,数字,下划线 

+ 匹配1次或者多次
re是正则表达式的工具包,工具包出错的话在anaconda的命令行输入"pip install re"安装,其他的工具包也是如此.

re.compile()中的r示意不是转义字符,也就是保持后面字符串原样,findall返回一个列表.下面还有一个版本的程序略有不同.


compile的另一个参数re.IGONORECASE(忽略大小写),还可以是re.DORALL,多行模式,具体功能也是模糊不清,不过在使用通配符 . 匹配的时候加上re.DOTALL参数能够匹配换行.如果希望忽略大小写和多行模式都开启可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .

表达式使用( ),对匹配到的内容分为3组 也就是(w+)出现字母,数字,下划线一次或多次,这个分组就是下面使用match对象的grou()方法的时候的参数.不给参数和参数0都是得到整个匹配到的内容,  参数1得到第一个括号匹配到的内容,以此类推参数2和3,如果没有括号分组的话使用参数会出现错误.
search( )查找和正则式匹配的内容,只匹一次后面的那个找不到.返回一个match对象


w 匹配字母,数字,下划线

W 匹配字母,数字.下划线之外的所有字符

d 匹配数字

D 匹配非数字

s 匹配空格,制表符,换行符

S匹配除空格制表符,换行符之外的其他字符

[ .... ]定义自己的匹配,如[aeiouAEIOU ]匹配所有的元音字母,注意不是匹配单词.

{最少次数,最多次数},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默认为匹配最多次数(贪心匹配),非贪心模式在后面加上问号 


?  可选 0次或者1次吧  

+匹配1次或多次

*匹配0次或者多次

^ 判断开头 ^d 如果待匹配串是数字开头则返回第一个数字

$判断结尾  d$  如果待匹配串是数字结尾则返回最后一个数字

.   通配符,匹配除换行之外的所有字符

   d{11}  匹配数字11次

    . * 匹配所有字符除 换行

[a-zA-Z0-9._%+-]  小写和大写字母、数字、句点、下划线、百分号、加号或短横

[a-zA-Z]{2,4} 匹配字母 2 - 4次

‘贰’ python 去除字符串中的空格

将字符串中的空格去除,字符串的长度就减少了,开始计算出的len(str)长度是原始字符串的长度,下标当然会越界

print'pleaseinputastring:'
string=raw_input('>')
string=string.replace('','')
printstring

‘叁’ “Python 秘籍”删除字符串中不需要的字符

在 Python 中,删除字符串中不需要的字符,可以使用以下方法

  1. 使用 strip 方法

    • 默认行为:strip 方法默认会去除字符串开头和结尾的空格。
    • 指定字符:可以通过传递一个字符串参数给 strip,来指定需要去除的字符集合。例如,text.strip') 会去除文本前后的这些特殊符号。
  2. 处理字符串内部的空格

    • strip 方法仅影响字符串的开头和结尾。若需处理字符串内部的空格,可以使用 replace 方法,例如 text.replace 来删除所有空格。
    • 正则表达式:对于更复杂的字符替换,正则表达式提供了强大的功能。例如,re.sub 可以删除所有连续的空白字符。
  3. 结合 strip 与迭代操作

    • 在处理多行数据时,可以结合 strip 方法和迭代操作来高效地去除每行前后的空格。使用生成器表达式可以避免一次性加载所有数据,提高内存效率。
  4. 使用 translate 方法

    • 对于更高级的字符替换操作,translate 方法结合 str.maketrans 可以提供一个更高效的解决方案。这通常用于需要替换多个不同字符为相同字符或删除它们的场景。

总结strip:用于去除字符串开头和结尾的指定字符。 replace:用于替换字符串中的指定字符,包括内部的空格。 正则表达式:通过 re.sub 提供强大的字符替换功能,适用于复杂模式匹配。 translate:结合 str.maketrans 用于高效的字符映射或删除操作。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:620
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:349
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:64
php微信接口教程 发布:2025-04-16 17:07:30 浏览:290
android实现阴影 发布:2025-04-16 16:50:08 浏览:782
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:335
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:198
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:792
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:351
土压缩的本质 发布:2025-04-16 16:13:21 浏览:579