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

python正则空格

发布时间: 2024-11-08 17:14:18

1. 请问这个python正则表达式是什么意思matches = re.findall('([^\s\\\]+)', line)

这个是用来匹毁信册铅配不带空格和反斜杠的字符串。
这里的^匹配非中括号里的字符;\s代纤姿轮表空格;\\\代表字符反斜杠(正则表达式需要双反斜杠来转义,因为\在正则表达式中本身就具有含义)
line = 'haha \\\\ \\ hehe'
matches = re.findall('([^\s\\\]+)', line)
print matches # ['haha', 'hehe']
望采纳!

2. python正则表达式匹配一个空格分隔的所有单词对

findall应该只能按着你的patten顺次往后找,所以出不来你想要的那种结果吧,倒不如直接用split分割然后写个循环输出你要的结果
import re

patt = r'\W+'
str1 = 'as jk jsd eqwe dsads'
reg = re.compile(patt)

res = reg.split(str1)
lst = []
for x in res:
if x:
length_flag = 0
else:
length_flag = 1
for x in range(0,len(res)-length_flag-1):
lst.append((res[x],res[x+1]))
print(lst)
输出结果就是你要的了
[('as', 'jk'), ('jk', 'jsd'), ('jsd', 'eqwe'), ('eqwe', 'dsads')]
我用的python3所以print带了括号,
另外我是个没啥基础刚自学的 方法可能非常笨拙

3. 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次

4. python用正则表达式去除空行

import re
str="aaa\n\nbbb\n\n\n"
print re.sub('[\r\n\f]{2,}','\n',str)

5. python中用正则表达式re去除空格但不去除换行符

如果只是想去空格,用不着正则,直接''.replace(' ','')就OK了

6. python正则表达式怎么匹配一个“两端都有空格且内部无空格、横线和换行符”的词

/^s+[^s-]+s+$/

^s空白符(空格、制表符、换行符)开头

[^s-]不包含空白符-

s+$空白符结尾

热点内容
淘宝客服电脑服务器 发布:2024-11-08 19:39:26 浏览:910
服务器4t如何扩容8t 发布:2024-11-08 19:32:27 浏览:297
网易我的世界电脑版好玩服务器 发布:2024-11-08 19:16:06 浏览:414
学校电脑配置有哪些 发布:2024-11-08 19:00:40 浏览:267
安卓手机音量均衡器在哪里 发布:2024-11-08 18:55:15 浏览:687
ie当前页面脚本发生错误 发布:2024-11-08 18:53:55 浏览:274
安卓弹钢琴的游戏叫什么名字 发布:2024-11-08 18:38:29 浏览:251
算法用英语 发布:2024-11-08 18:37:44 浏览:995
android自动弹出输入法 发布:2024-11-08 18:19:51 浏览:276
存储器最小单位 发布:2024-11-08 18:04:49 浏览:796