CODE:import rewhile True:number = int(input('Input number (0 to quit): '))if number == 0:breaksubject = ''.join([str((1)) for a in range(number)])reobj = re.compile(r"^1?$|^(11+?)\1+$")if reobj.search(subject):print "number %s is not prime number!" % numberelse:print "number %s is a prime number!" % number
RESULT:
Input number (0 to quit): 8
number 8 is not prime number!
Input number (0 to quit): ...
学习要点:1、什么是正则表达式:是一个描述字符模式的对象。2、创建正则表达式:创建正则表达和创建字符串类似,创建正则表达式提供了两种方式,一种是采用new运算符,另一种是采用字面两方式var box=new RegExp(‘box‘,‘ig‘),//第一个参数数字字符串 第二个参数可选模式修饰符var box=/box/ig, 表达的意思:忽略大小写进行全局匹配3、测试正则表达式:RegExp对象包含两个方法:test()和excc(),功能基本相似,用于测试...
在前面学习了比较多模式,有前向搜索的,也有后向搜索的,有肯定模式的,也有否定模式的。这次再来学习一个,就是后向搜索肯定模式,意思就是说已经扫描过了的字符串,还想后悔去看一下,是否可以匹配。它的语法是:(?<=pattern)。比如下面的例子,就是用来识别Twitter的账号,但它这种模式只会匹配,不会出现在匹配的字符串中,如下: #python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re...
常用函数有re.match()、re.search() 、re.sub()、compile()、findall()、finditer()、split()
re.match() 匹配字符串开头,常用来判断数据是否满足我的正则要求。成功返回一个match对象,不成功返回空。>>> import re
>>> rc = re.compile(r"www.+")
>>> rc.match(‘www.com wxw.cn‘)
<re.Match object; span=(0, 14), match=‘www.com wxw.cn‘>
>>> rc.match(‘wxw.cn www.com‘)
>>>
re.search() 匹配整个字符串,判断数据时候...
切割:split(regex,string):返回一个列表对象import restr1=‘i love shenzhen so much‘
regex=r‘ +?‘
lt=re.split(regex,str1)
print(lt)str2=‘dsafsa2341241dfakdsf34242dsafasfd______3214123fdsafas2131dsafas‘
regex=r‘d+‘
lt=re.split(regex,str2)
print(lt)‘‘‘
补充案例:和替换有关
需求:将如下字符串中的#替换为-
思考:1).一个#替换成一个-2).一堆#替换成一个-
‘‘‘str3=‘dasf######dsaf2341dsaf13#####$...
正则表达式30分钟正则表达式
python中对于正则表达式使用re模块处理
因为python本身也用\转义,所以可以在字符串前使用r前缀,这样就不用考虑转义问题了。match()match()方法判断是否匹配成功,然会一个match()对象,否则返回None。import re
test = '字符串'
if re.match(r'正则表达式',test):print('ok')
else:print('failed')split()re模块中的split([正则表达式],[字符串])方法可以使用正则表达式分割字符串,返回值为分割后的...
匹配次数用 {}界定re.search 能产生group(), 可以访问每个组的字符串re.findall 产生的结果是列表,其中的元素可以是字符串,也可以是元组Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\user>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" ...
正则表达式是可以匹配文本片段的模式。1.常用通配符符号 说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束 2.特殊字符进行转义如果在正则表达式中想要把特殊字符(如上面的常用通配符)作为普通字符使用,就使用\对它们进行转义。在python的re模块中,需要用\\进行转义;如果不使用双斜线,可以使用原始字符串,这时...
["\‘] ----------- 匹配单双引号 (.*?)xxx ----------- 匹配任意长度字符+xxx 正则表达式在线测试工具:http://tool.oschina.net/regex/?optionGlobl=global 未完待续~~~将一直补充~~ 原文:https://www.cnblogs.com/4wheel/p/8550426.html
作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。本文是一系列关于Python正则表达式文章的其中一部分。在这个系列的第一篇文章中,我们将重点讨论如何使用Python中的正则表达式并突出Python中一些独有的特性。我们将介绍Python中对字符串进行搜索和查找的一些方法。然后我们讲讨论如何使用分组来处理我们查找到的匹配对象的子项。我们有兴趣使用的Pyth...
一、匹配元字符 使用元字符可以简便操作,写正则表达式时更方便 常用元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符串的开始。 $ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置。 * 重复0或N次 + 重复1或N次 ? 重复0或1次 {} 该限定符的意思是至少有 m 个重复,至多到 n 个重复 [] ...
注意:Python3.X 的print要有括号, Python 2.x的不需要 放上学习时写的例子:import rem = re.match(r‘(\w+) (\w+)(?P<sign>.*)‘, ‘hello world!‘)print("m.string:", m.string)
print("m.re:", m.re)
print("m.pos:", m.pos)
print("m.endpos:", m.endpos)
print("m.lastindex:", m.lastindex)
print("m.lastgroup:", m.lastgroup)print("m.group():", m.group())
print("m.group(1,2):", m.group(1,2))print("m.groups():",...
正则表达式中有空格时,所获得的列表内容不会将其分开,视为一个元素,可以实现一下例子自行感受(在写爬虫时要注意,一点差异都会很难找到错误的地方)import repattern = re.compile(r’\d+’) # 查找数字result1 = pattern.findall(‘task 123 456’)print(result1)print(result1[0][1])运行结果:[‘123’, ‘456’]2import repattern = re.compile(r’\d+\s*\d+’) # 查找数字空格数字result1 = pattern.findall(‘sun 123 45...
print("---------锚字符(边界字符)--------")‘‘‘^ 行首匹配,和在[]里的^不是一个意思$ 行尾匹配\A 匹配字符串的开始,和^的区别是:\A只匹配整个字符串的开头,即使在 re.M的模式下也不会匹配其他行的行首\Z 匹配字符串结束,它和$的区别是:\Z只匹配整个字符串的开头,即使在 re.M的模式下也不会匹配其他行的行尾\b 匹配一个单词的边界,也就是值单词和空格间的位置\B 匹配非单词的边界 ...
随笔记录方便自己和同路人查阅。#------------------------------------------------我是可耻的分割线------------------------------------------- 在前面电话号码正则表达式的例子中,你知道\d可以代表任何数字。也就是说,\d是正则表达式(0|1|2|3|4|5|6|7|8|9)的缩写。有许多这样的“缩写字符分类”。如: \d表示0到9的任何数字 \D表示除0到9的数字以外的任何字符 \w表示任何字符、数字或下划线字符(可以认为是匹配...