【14 Python - 表达式】教程文章相关的互联网学习教程文章

Python程序设计--第4章 字符串与正则表达式【代码】

只学习了字符串,正则太复杂了,没看。x=He said "Lets go" #字符串可用单引号、双引号、三单引号、三双引号作为界定符,而且可以相互嵌套 name=tom age=20 s={0} is {1} years old.format(name,age) #使用format()格式化,tom is 20 years old s="the number {0} in Hex is {0:#x},in binary is {0:#b}".format(age) #the number 20 in Hex is 0x14,in binary is 0b10100# 字符串检索 find,index,count,in x=abc123 ss i...

为什么正则表达式在python中返回错误?【代码】

我在python中尝试以下正则表达式,但它返回错误import re ...#read a line from a file to variable line # loking for the pattern 'WORD' in the line ...m=re.search('(?<=[WORD])\w+',str(line)) m.group(0)我收到以下错误: AttributeError:’NoneType’对象没有属性’group’解决方法:发生这种情况是因为正则表达式不匹配.因此m是None,当然你不能访问组[0].在尝试访问组成员之前,您需要首先测试搜索是否成功.

再次使用Python正则表达式 – 匹配url【代码】

我有这样的正则表达式:re.compile(r"((https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)", re.MULTILINE|re.UNICODE)但那不包括hashbangs(#!).我需要改变什么才能让它发挥作用?我知道我可以添加!用#@%等分组,但是会选择类似的东西Check this out: http://example.com/something/!!!而我想避免这种情况.解决方法:不要尝试为匹配的URL创建自己的正则表达式,使用已解决此类问题的其他人,例如this one.

python – 使用正则表达式从字符串中提取数字【代码】

我有以下字符串:fname="VDSKBLAG00120C02 (10).gif"如何从字符串fname中提取值10(使用re)?解决方法: regex = re.compile(r"(?<=\()\d+(?=\))") value = int(re.search(regex, fname).group(0))说明:(?<=\() # Assert that the previous character is a ( \d+ # Match one or more digits (?=\)) # Assert that the next character is a )

python re模块 正则表达式【代码】【图】

正则表达式 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。正则表达式是用来匹配处理字符串的 python 中使用正则表达式需要引入re模块 如: import re #第一步,要引入re模块 a = re.findall("匹配规则", "要匹配的字符串") #第二步,调用模块函数 以列表形式返回匹配到的字符串...

如何使用Python在文件夹中搜索与正则表达式匹配的文件名?【代码】

我在编写一个函数时遇到一些困难,该函数将在目录中搜索与特定正则表达式匹配的文件(我使用’re.compile’编译).所以我的问题是:如何搜索目录(我计划使用os.walk)来查找与特定正则表达式匹配的文件?非常感谢一个例子.提前致谢.解决方法:这将找到所有以两位数字开头并以gif结尾的文件,如果您愿意,可以将文件添加到全局列表中:import re import os r = re.compile(r'\d{2}.+gif$') for root, dirs, files in os.walk('/home/vinko'...

python正则表达式

什么是{m}’和{m,n}?之间的区别?在http://docs.python.org/library/re.html它说“{m,n}?”匹配范围为m到n次的数字,但它不是贪婪的搜索.因此,如果它不是一个贪婪的搜索,它不会只匹配m,无论如何?解决方法:{M,N}?优选地,仅匹配m次重复,但是如果需要更长的匹配,它将根据需要扩展到n次重复. 比较^ x {2} y $和^ x {2,4}?y $: 前者将在xxxy上失败,而后者将匹配. 总结一下: x {m}:匹配x恰好m次. x {m,n}:尝试匹配x n次,但如果这...

python – 如何在正则表达式中匹配’ – ‘在[..]内部【代码】

我试图在[…]块中使用python中的正则表达式匹配’ – ‘,但是,我不确定如何实现这一点,因为’ – ‘表示该块中的范围. 编辑:我失败的正则表达式:regex = re.compile("^[0-9+-*/]+$")解决方法:从the docs开始:If you want to include a ']' or a '-' inside a set, precede it with a backslash, or place it as the first character.

python爬虫基础--5(正则表达式)【代码】

1,特殊字符^,$,.,* import restr = "zhaoheng" ^ 匹配字符串的开头,.匹配任意字符 *匹配0次或多次,$匹配字符串的结尾,+至少匹配一次#表示,匹配以z开头的,中间任意字符,后面以g结尾的 reg_str = "^z.*g$" if re.match(reg_str,str):print("yes")2,非贪婪匹配之? import restr = "zhoooohheng" #想将两个h之间的拿出来,即 hoooooh,但是拿出来的是hh #贪婪匹配,是反向匹配的,一直往后找 reg_str = ".*(h.*h).*"#用括号括起...

Python:表达式(2和2 * 3)返回6的操作是什么?

我的第一个问题是这个问题的抽象问题是什么:’表达式(2和2 * 3)返回6的操作是什么?请随意适当地重新调整我的问题. 我的第二个问题是python中的内容是什么,它返回6(2和2 * 3).这里似乎有一些优雅的东西,我想读一下这个操作.解决方法:从Python language reference:Note that neither and nor or restrict the value and type they return to False and True, but rather return the last evaluated argument.因此,2和2 * 3表示它首...

python – 正则表达式:如何匹配两个字符但排除某个组合【代码】

我需要这个正则表达式的帮助.我有许多文件名,格式为:DataFile_en.dat DataFile_de.dat DataFile_es.dat它是DateFile_,后跟两个字符的语言代码. 我想编写一个正则表达式,匹配所有具有此模式的文件名但不包括英文名称(DataFile_en.dat) 我有这个模式来提取所有文件:DataFile_\w{2}.dat但我不知道如何编写模式以排除使用’en’作为语言代码的模式.正则表达式将在Python中使用.解决方法:您可以使用负面预测.您可以找到有关here的更多...

在Python中简化表达式【代码】

我觉得必须有一个更简单/更清洁/更快(选择一种或多种)的方式来编写这个表达式…… 采取BigString =“这是一个关于一只名叫花花公子的红猫的长句.” 和LittleStringList = [“红狗”,“红猫”,“红色鼠标”] 我实际上想要一个函数/表达式,当LittleStringList中的一个在BigString中时返回true.我这样写的:def listcontains(list, big):contains = Falsefor string in list:if string in big:contains = Trueelse:passreturn contain...

python – 正则表达式匹配只有2个大写字母的字符串【代码】

我想编写一个正则表达式,只有当字符串由两个大写字母组成时才匹配字符串. 我试过了 – [AZ] {2},[AZ] {2,2}和[AZ] [AZ],但这些只匹配字符串’CAS’,而我希望匹配时只有字符串是两个大写字母,如’ CA”.解决方法:你可以使用锚点:^[A-Z]{2}$^匹配字符串的开头,而$匹配其结尾. 请注意,在你的尝试中,你使用了[A-Z] {2,2}实际上应该是[A-Z] {2,2}(没有空格)来表示与其他人相同的东西.

python – 正则表达式找到所有文本的句子?【代码】

我一直在尝试用python自学Regexes,我决定打印出文本的所有句子.我一直在修补过去3个小时的正则表达无济于事. 我只是尝试了以下但无法做任何事情.p = open('anan.txt') process = p.read() regexMatch = re.findall('^[A-Z].+\s+[.!?]$',process,re.I) print regexMatch p.close()我的输入文件是这样的:OMG is this a question ! Is this a sentence ? My. name is.这不打印任何输出.但是当我删除“我的.名字是.”时,它打印OMG这是...

python – 重复序列的正则表达式【代码】

我想匹配由逗号分隔的三个字符的字母序列(只允许字母’a’,’b’,’c’)(最后一个组不以逗号结尾). 例子:abc,bca,cbb ccc,abc,aab,baa bcb我写了以下正则表达式:re.match('([abc][abc][abc],)+', "abc,defx,df")但它无法正常工作,因为上面的示例:>>> print bool(re.match('([abc][abc][abc],)+', "abc,defx,df")) # defx in second group True >>> print bool(re.match('([abc][abc][abc],)+', "axc,defx,df")) # 'x' in first ...