精华内容
下载资源
问答
  • python正则匹配txt特定字符串(有换行)在原txt文件中,我们需要匹配出的字符串为:休闲服务(中间参杂着换行)直接复制到notebook里进行处理完整代码 在原txt文件中,我们需要匹配出的字符串为:休闲服务(中间参杂着...

    在原txt文件中,我们需要匹配出的字符串为:休闲服务(中间参杂着换行)

    在这里插入图片描述

    直接复制到notebook里进行处理

    在这里插入图片描述
    ①发现需要拿出的字符串都在证卷研究报告前,第一步就把证券报告前面的所有内容全部提出来(包括换行)
    在这里插入图片描述
    ②发现需要的字符串在两个换行符(\n)的中间,再对其进行处理
    在这里插入图片描述

    完整代码

    import re
    txt = """   行业报告 | 行业点评 
       
                休闲服务
                证券研究报告"""
    result = re.findall(r"([\s\S]*)证券研究报告",txt)[0]
    sstr = re.findall("\n([\s\S]*)\n",result)[0].strip()
    print("    匹配结果:",sstr)
    
    展开全文
  • python正则匹配URL

    千次阅读 2018-11-18 21:38:39
    正则匹配URL过程 获得http请求头的字符串列表 正则匹配列表的第二个元素 判断正则匹配结果 正则匹配url_demo import re def main(): name = """ GET / HTTP/1.1 Host: 127.0.0.1:9999 ...

    正则匹配URL过程

    1. 获得http请求头的字符串列表
    2. 正则匹配列表的第二个元素
    3. 判断正则匹配结果

    正则匹配url_demo

    import re
    
    def main():
    
    	name = """
    	GET / HTTP/1.1
    	Host: 127.0.0.1:9999
    	Connection: keep-alive
    	Cache-Control: max-age=0
    	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0                                          .8
    	Upgrade-Insecure-Requests: 1
    	User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Geck                                          o) Chrome/50.0.2661.102 Safari/537.36
    	Accept-Encoding: gzip, deflate, sdch
    	Accept-Language: zh-CN,zh;q=0.8
    
    	GET /favicon.ico HTTP/1.1
    	Host: 127.0.0.1:9999
    	Connection: keep-alive
    	User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Geck                                          o) Chrome/50.0.2661.102 Safari/537.36
    	Accept: */*
    	Referer: http://127.0.0.1:9999/
    	Accept-Encoding: gzip, deflate, sdch
    	Accept-Language: zh-CN,zh;q=0.8
    
    	"""
    	# str.splitlines([keepends])
    	# http://www.runoob.com/python3/python3-string-splitlines.html
    	# keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
    
    	# str1 = name.splitlines(True)
    	# print("保留换行符结果:\n",str1)
    	str2 = name.splitlines(False)
    	# print("不保留换行符结果:\n",str2)
    	url_name = re.match(r"[^/]+(/[^ ]*)",str2[1])
    	if url_name:
    		url_name = url_name.group(1)
    		print("正则匹配到的结果是:",url_name)
    	else:
    		print("未成功匹配到数据")
    
    	
    if __name__ == '__main__':
    	main()
    

    运行结果

    可以匹配到我们需要的url
    在这里插入图片描述

    学习资料:

    http://www.runoob.com/python3/python3-reg-expressions.html

    展开全文
  • 匹配地名: 不多说,上代码 def Match_Address(data): import re PATTERN1 = r'([\u4e00-\u9fa5]{2,5}?(?:省|自治区|市)){0,1}([\u4e00-\u9fa5]{2,7}?(?:区|县|州)){0,1}([\u4e00-\u9fa5]{2,7}?(?:镇)){0,1}([\u4...

    匹配地名:
    不多说,上代码

    
    def Match_Address(data):
        import re
        PATTERN1 = r'([\u4e00-\u9fa5]{2,5}?(?:省|自治区|市)){0,1}([\u4e00-\u9fa5]{2,7}?(?:区|县|州)){0,1}([\u4e00-\u9fa5]{2,7}?(?:镇)){0,1}([\u4e00-\u9fa5]{2,7}?(?:村|街|街道)){0,1}([\d]{1,3}?(号)){0,1}'
        # \u4e00-\u9fa5 匹配任何中文
        # {2,5} 匹配2到5次
        # ? 前面可不匹配
        # (?:pattern) 如industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。意思就是说括号里面的内容是一个整体是以y或者ies结尾的单词
        pattern = re.compile(PATTERN1)
        p1 = ''
        p2 = ''
        p3 = ''
        p4 = ''
        p5 = ''
        p6 = ''
        m = pattern.search(data)
        if not m:
            print('None')
        if m.lastindex >= 1:
            p1 = m.group(1)
        if m.lastindex >= 2:
            p2 = m.group(2)
        if m.lastindex >= 3:
            p3 = m.group(3)
        if m.lastindex >= 4:
            p4 = m.group(4)
        if m.lastindex >= 5:
            p5 = m.group(5)
        if m.lastindex >= 6:
            p6 = m.group(6)
        out = '%s|%s|%s|%s|%s|%s' % (p1, p2, p3, p4, p5, p6)
        return out
    if __name__ =='__main__':
        data=str(input("请输入文本:"))
        out=Match_Address(data)
        print(out)
    
    

    结果:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    讲解

    \u4e00-\u9fa5 匹配任何中文 :[\u4e00-\u9fa5]{2,5} 匹配任意2到5个中文
    {2,5} 匹配2到5次
    ? 表示前面可不匹配
    (?:pattern) 如industr(?:y|ies) 就是一个比 ‘industry|industries’ 更简略的表达式。意思就是说括号里面的内容是一个整体是以y或者ies结尾的单词。
    ?:省|自治区|市 :表示可以匹配省,也可以匹配自治区,也可以匹配市
    元字符( “( )” ),用来表示一个group的开始和结束。

    展开全文
  • python 正则匹配

    千次阅读 2019-06-01 16:15:13
    在python 中,正则匹配用到的还是挺多的,下面总结一下常用的一些正则匹配: 精确匹配: \d可以匹配一个数字, \w可以匹配一个字母或数字, . 匹配任意的单个字符 \s可以匹配一个空格(也包括Tab等空白符) 变...

    在python 中,正则匹配用到的还是挺多的,下面总结一下常用的一些正则匹配:

    精确匹配:

    \d可以匹配一个数字,

    \w可以匹配一个字母或数字,

    . 匹配任意的单个字符

    \s可以匹配一个空格(也包括Tab等空白符)

    变长匹配:

    {N} 重复前面的单个字符N次出现

    {a,b}  重复前面的单个字符出现次数的范围在a-b次,例如:\d{3,8}   表示任意个字符(包括0个)

    * 表示任意个字符(包括0个)

    + 至少有一个,即一个或多个

    [  ]   方括号中的内容是以拆分为单个的形式,只要方括号中的出现任意一个就会匹配上

    A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'

    ^表示行的开头,^\d表示必须以数字开头。

    $表示行的结束,\d$表示必须以数字结束。

    py也可以匹配'python',但是加上^py$就变成了整行匹配,就只能匹配'py'了。

     

    准备知识完成,在python中的正则匹配的使用模块主要是re模块:

    在使用python的re模块,导包:

    import  re

    在编写某些正则的时候,有时候需要转义,为了我们可以在编写正则匹配体的时候,加前缀就不用考虑转义的问题了:

    a="^py\\001&"
    
    b=r"^py\001&"
    #都是表示匹配'^py\001&'

    正则表达式修饰符 - 可选标志

    正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志:

    修饰符 描述
    re.I 使匹配对大小写不敏感
    re.L 做本地化识别(locale-aware)匹配
    re.M 多行匹配,影响 ^ 和 $
    re.S 使 . 匹配包括换行在内的所有字符
    re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
    re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

    re模块用法:

    match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。常见的判断方法就是:

    re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none

    匹配成功re.match方法返回一个匹配的对象,否则返回None。

    我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

    test = '用户输入的字符串'
    if re.match(r'正则表达式', test):
        print('ok')
    else:
        print('failed')

    re.search方法

    re.search 扫描整个字符串并返回第一个成功的匹配。

    函数语法:

    re.search(pattern, string, flags=0)

    匹配成功re.search方法返回一个匹配的对象,否则返回None。

    我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式

    re.match与re.search的区别

    re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

    检索和替换

    Python 的 re 模块提供了re.sub用于替换字符串中的匹配项,返回替换后的字符串

    语法:

    re.sub(pattern, repl, string, count=0, flags=0)

    参数:

    • pattern : 正则中的模式字符串。
    • repl : 替换的字符串,也可为一个函数。
    • string : 要被查找替换的原始字符串。
    • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配

    分组

    除了简单地判断是否匹配之外,正则表达式还有提取子串的强大功能。用()表示的就是要提取的分组(Group)。比如:

    ^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码:

    >>> m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
    >>> m
    <_sre.SRE_Match object; span=(0, 9), match='010-12345'>
    >>> m.group(0)
    '010-12345'
    >>> m.group(1)
    '010'
    >>> m.group(2)
    '12345'

    group(0)永远是原始字符串,group(1)group(2)……表示第1、2、……个子串

    贪婪匹配

    最后需要特别指出的是,正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符。举例如下,匹配出数字后面的0

    >>> re.match(r'^(\d+)(0*)$', '102300').groups()
    ('102300', '')
    

    由于\d+采用贪婪匹配,直接把后面的0全部匹配了,结果0*只能匹配空字符串了。

    必须让\d+采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0匹配出来,加个?就可以让\d+采用非贪婪匹配:

    >>> re.match(r'^(\d+?)(0*)$', '102300').groups()
    ('1023', '00')

     

    展开全文
  • 正则匹配中文数字

    万次阅读 2018-03-30 15:51:38
    正则匹配中文数字 运营导入小说时遇到小麻烦,想要在章节目录前面加一些符号,word等工具搜半天没搜到,就想着用正则匹配试一下, 于是用notepad++试了一下,正则匹配中文数字章节。 表达式为:(第[\u4e00-\u9fa...
  • 正则匹配以xx开头以xx结尾的单词

    千次阅读 2019-07-08 15:45:01
    正则匹配
  • Python中的 正则匹配

    万次阅读 2020-05-31 19:09:26
    正则匹配的基本格式 import re ret=re.match("正则表达式","要匹配的字符串") ret.group( ) 提取数据 匹配单个字符: . 匹配任意一个字符(除了\n) [ ] 匹配[ ] 中的 任意一个字符 \d 匹配数字 即 0-9 \D 匹配非...
  • sublime 正则匹配

    2020-06-10 10:12:37
    sublime 支持正则匹配,开启办法如下: https://jingyan.baidu.com/article/25648fc19685859191fd00b8.html 点击按钮 【.*】 输入正则表达式 点击 【in selection】 按钮 , find 旁边的按键。 常用正则 HTML 转 ...
  • 使用正则匹配最后一个字符串

    万次阅读 2017-12-13 17:29:12
    使用正则匹配最后一个字符串,如123456中的3之后的字符串。
  • 14. Perl 正则表达式-正则匹配

    千次阅读 2019-08-27 16:04:41
    1. 正则匹配语法 Perl 的正则表达式语法非常灵活, 可以借助于内置变量$_ 进行简化, 也可以借助于m符号来自定义匹配定界符. 1.1 简写方式 简写模式使用内置变量$_与模式进行匹配. 标准模式无须...
  • 正则匹配无效

    千次阅读 2015-03-31 11:34:25
    今天在做项目后台进行正则匹配提取操作时,怎么都不能取到值,具体的正则表达式和提出字符串截图如下:
  • flutter 记录正则匹配

    千次阅读 2019-10-04 22:13:58
    手机号正则匹配: // 正则匹配 static bool isChinaPhoneLegal(String str) { return new RegExp('^((13[0-9])|(15[^4])|(166)|(17[0-8])|(18[0-9])|(19[8-9])|(147,145))\\d{8}\$').hasMatch(str); } ...
  • re 正则匹配获取指定路径 1、re正则匹配 之前我们有说过Beautiful Soup和xpath两种选择器来获取我们从前端爬下来的指定数据,但是万事都不是绝对的,万一当你发现前面两种选择器都不能匹配到的时候该怎么办呢? 这...
  • 正则匹配行与非匹配行

    千次阅读 2019-06-14 15:50:56
    正则匹配行与非匹配行 匹配非行 ^(?!.*asd).*$ 此正则可以匹配不包含asd 的字符串 匹配行 ^(?=.*asd).*$ 这个就比较简单了,一般都是匹配包含的字符串,此处仅做对比 ...
  • 正则匹配汉字文字

    2019-09-26 10:45:59
    正则匹配汉字文字 https://www.cnblogs.com/andy9468/p/8072355.html
  • sparksql 正则匹配总结

    千次阅读 2019-06-14 11:43:06
    sparksql 正则匹配总结 转载:https://blog.csdn.net/lvdan1/article/details/78340231
  • JavaScript正则匹配 多行内容

    千次阅读 2020-11-11 21:53:10
    需求: 通过正则匹配给定代码块中的链接和标题 刚开始是通过以下正则匹配的, 尝试之后匹配失败 let reg = /<a href="(.*?)" class="">.<span class="title">(.*?)<\/span><\/a>/igs 观察后...
  • Python正则匹配数字和小数

    千次阅读 2018-12-06 12:14:52
    正则匹配数字,\为转义字符,d+为匹配一次或多次 如下所示:返回的结果为列表     2.正则匹配小数 如下所示,返回的结果125.6为字符串  
  • 正则匹配身份证号

    万次阅读 2019-03-29 21:20:57
    正则匹配身份证号 分为18位和15位 首先写正则之前我们先明白身份证号的结构 18位 地区: [1-6][1-9]\d{4} 年的前两位: (18|19|20) 1800-2399 年的后两位: \d{2} 月份:((0[1-9])|10|11|12) 天数: (([0-2][1-9])|...
  • 正则匹配所有包括换行符

    万次阅读 2020-10-01 21:30:42
    项目中需要用到爬虫,需要用到正则匹配字符,很久没用正则了。 匹配所有字符包括换行符: reg :=regexp.MustCompile("<title>[\\s\\S]*</title>") ret := reg.FindAllString(text,-1) fmt.Println...
  • python正则匹配汉字

    千次阅读 2019-03-08 17:29:14
    python正则匹配汉字的规则为:[\u4e00-\u9fa5] 后面可以加一个+,匹配多个汉字。 例子如下: print(re.findall(r'[\u4e00-\u9fa5]+', '这是测试用例'))
  • 18-正则匹配数字范围

    万次阅读 2019-02-01 18:50:28
    1. 正则匹配数字范围 正则表达式是为了匹配字符而设计的,而并不是为了匹配数字,所以当你使用正则匹配指定范围内的数字的时候你需要额外小心。表达式[0-255]并不能匹配0至255之间的数字。表达式[0-255]是一个字符集...
  • Hive 正则匹配函数

    千次阅读 2019-06-20 17:39:34
    正则匹配字符解释: ^ 表示开头 $ 表示结尾 . 表示任意字符 * 表示任意多个 1、元字符匹配 (.) 表示匹配除换行符以外的任意字符。 (\w) 表示匹配字母、下划线、数字或汉字(\\W)。 (\d) 表示匹配数字 (\s) ...
  • python正则匹配中文

    千次阅读 2019-03-18 17:10:25
    正则匹配中文,固定形式:\u4E00-\u9FA5 """ text = "***中国***日本***韩国" regex_str = ".*?([\u4E00-\u9FA5]+).*?" match_obj = re.findall(regex_str, text) if match_obj:...
  • Python正则匹配中文与编码总结

    万次阅读 2017-03-04 10:28:26
    这不是在做正则匹配中文时候,编码又一次成了拦路虎,在这儿记录两点。第一,字符串编码。第二,正则匹配中文。早期编码都用ASCII编码,用一个字节来处理编码。如大写A编码为65,但处理中文时候,一个字节显然不够,...
  • nginx location的正则匹配规则

    千次阅读 2017-08-08 11:29:46
    nginx location的正则匹配规则 location匹配命令   ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 ^~ #^~表示普通字符匹配,如果该选项匹配,则不再匹配别的选项,...
  • PyCharm Regex 正则匹配

    千次阅读 2018-11-11 16:11:41
    这几天在学习崔庆才大佬的《Python3WebSpider》...选择 Regex 正则匹配。 在上框中输入 (.*?): (.*) 。 在下框中输入 '$1': '$2', 主要到这里的冒号后面有空格,还有注意末尾有一个逗号。 最后点击 Replace all 。 ...
  • Golang 正则匹配效率

    千次阅读 2019-07-04 10:15:37
    最近有个小需求,校验IMEI是否为15位纯数字(是否合法),以下是正则匹配,与自己实现的简单验证方式进行压测 package main import ( "regexp" "testing" ) func BenchmarkIsDigitalRegexp(b *testing.B) { for...
  • PHP正则匹配中文字符串

    千次阅读 2016-11-24 16:34:41
    PHP正则匹配中文字符串
  • python正则匹配数字或者汉字

    千次阅读 2019-12-29 18:51:43
    1、正则匹配汉字 import re str1='hjggj小vjjk明' pat=re.compile(r'[\u4e00-\u9fa5]+') result=pat.findall(str1) print(result) # 输出['小', '明'] 2、正则匹配数字 import re re.findall(r'\d+', 'hello ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,740
精华内容 39,096
关键字:

正则匹配