精华内容
下载资源
问答
  • /bin/env python#-*- coding:utf-8 -*-import urllibimport os,sys,jsonimport sslcontext = ssl._create_unverified_context()def GetWorkOrder(ip):try:#ip = sys.argv[1]len(ip) != 1except:print "error .....

    #!/bin/env python

    #-*- coding:utf-8 -*-

    import urllib

    import os,sys,json

    import ssl

    context = ssl._create_unverified_context()

    def GetWorkOrder(ip):

    try:

    #ip = sys.argv[1]

    len(ip) != 1

    except:

    print "error paras!!"

    else:

    #bxurl="**" + ip + "&type=fwqbx"

    zjurl="***" + ip + "&type=fwqzj"

    #bx = urllib.urlopen(bxurl, context=context)

    zj = urllib.urlopen(zjurl, context=context)

    #bxr = bx.read(bx)

    zjr = zj.read(zj)

    #lbxr = json.loads(bxr)

    lzjr = json.loads(zjr)

    #print json.dumps(lbxr,ensure_ascii=False,sort_keys=True, indent=2)

    #zjlist=json.dumps(lzjr,ensure_ascii=False,sort_keys=True, indent=2)

    #print zjlist

    try:

    #t1= lzjr[0]["data"]["detail"][0]["sn"]

    t2= lzjr[0]["data"]["detail"][0]["statusname"]

    #print t2

    return t2

    #return t2.decode("utf-8").encode("gbk")

    except:

    pass

    #GetWorkOrder()

    def sn_GetWorkOrder(ip):

    try:

    #ip = sys.argv[1]

    len(ip) != 1

    except:

    print "error paras!!"

    else:

    #bxurl="https://portal.qiyi.domain/newportal/?appkey=getprolist&ip=" + ip + "&type=fwqbx"

    zjurl="https://portal.qiyi.domain/newportal/?appkey=getprolist&ip=" + ip + "&type=fwqzj"

    #bx = urllib.urlopen(bxurl, context=context)

    zj = urllib.urlopen(zjurl, context=context)

    #bxr = bx.read(bx)

    zjr = zj.read(zj)

    #lbxr = json.loads(bxr)

    lzjr = json.loads(zjr)

    #print json.dumps(lbxr,ensure_ascii=False,sort_keys=True, indent=2)

    #zjlist=json.dumps(lzjr,ensure_ascii=False,sort_keys=True, indent=2)

    #print zjlist

    try:

    t1= lzjr[0]["data"]["detail"][0]["sn"]

    #t2= lzjr[0]["data"]["detail"][0]["statusname"]

    return t1

    except:

    pass

    if __name__ == "__main__":

    #tt = "结束".decode("utf-8").encode("gbk")

    #print tt

    input = open("data","r")

    while True:

    tmp_ip = input.readline()

    #print tmp_ip

    status = GetWorkOrder(tmp_ip)

    #status = status.decode("utf-8").encode("gbk")

    try:

    print len(status)

    except:

    pass

    try:

    if len(status) != 2:

    tmp_sn = sn_GetWorkOrder(tmp_ip)

    #print tmp_sn

    cmd1 = "echo "+"""+str(tmp_ip)+str(tmp_sn)+"""+ " >> /tmp/b.txt"

    #print cmd1

    os.system(cmd1)

    except:

    pass

    input.close()

    展开全文
  • ## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配一个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。 ## ...

    1、使用正则表达式,用法如下:

     
    ## ^ 匹配字符串的开始。
    
    ## $ 匹配字符串的结尾。
    
    ## \b 匹配一个单词的边界。
    
    ## \d 匹配任意数字。
    
    ## \D 匹配任意非数字字符。
    
    ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
    
    ## x* 匹配0次或者多次 x 字符。
    
    ## x+ 匹配1次或者多次 x 字符。
    
    ## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
    
    ## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
    
    ## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
    
    ## 正则表达式中的点号通常意味着 “匹配任意单字符”
    

    2、解题思路:

    既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;

    所以一般是形如:—-.—–;

    根据上述正则表达式的含义,可写出如下的表达式:”\d+.?\d*”;

    ·\d+ 匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;

    ·.? 这个是匹配小数点的,可能有,也可能没有;

    ·\d* 这个是匹配小数点之后的数字的,所以是0个或者多个。

    python学习网,大量的免费python视频教程,欢迎在线学习!

    3、代码如下:

     
    # -*- coding: cp936 -*-
    
    import re
    
    string="A1.45,b5,6.45,8.82"
    
    print re.findall(r"\d+\.?\d*",string)
    
    # ['1.45', '5', '6.45', '8.82']
    
    展开全文
  • 比如 str='地铁16号线',我的 list=['6号线','16号线'] 然后我要匹配的是16号线而不是6号线,请问如何做?
  • import re with open('./re_pos.txt','r') as f: i=0 for line in f: print("line {}".format(i)) print(line) data_1=[] i+=1 line_=line[1:-2] p1 = re.compile(r'[(]...)[)]', re.S) # 最小匹配 c=re.fin.
    import re
    with open('./re_pos.txt','r') as f:
        i=0
        for line in f:
            print("line {}".format(i))
            print(line)
            data_1=[]
            i+=1
    
            line_=line[1:-2]
            p1 = re.compile(r'[(](.*?)[)]', re.S)  # 最小匹配
            c=re.findall(p1,line_)
            for item in c:
                data_1.append(tuple(map(lambda x: x.replace("'", ""), item.split(', '))))
            print(data_1)
    

     

    展开全文
  • for cf in range(20): match = difflib.get_close_matches(l, filelist, cutoff = 1.0 - cf/20.0, n=20) if len(match) > 0: matchlist.append(match[0]) flag = 1 break
  • 1.前言 在日常的数据分析过程中,我们可能会遇到一些关于字符串类型的地址信息,由于录入的地址信息良莠不齐,我们在进行地址处理时就会变得麻烦。为了能够方便的进行地址的...2.2 使用python调用api接口 先将官方文

    1.前言

    在日常的数据分析过程中,我们可能会遇到一些关于字符串类型的地址信息,由于录入的地址信息良莠不齐,我们在进行地址处理时就会变得麻烦。为了能够方便的进行地址的处理,这里提供一个地址的处理方法。

    2.根据字符串形式的地址信息获取经纬

    2.1 选择合适的地图api接口

    目前支持地图api接口的网站有很多,在这里以百度地图为例:
    步骤1.先去百度地图开发平台,注册成为开发者;
    步骤2.在应用管理下创建自己的应用;
    创建应用
    步骤3.输入必要的信息,然后创建完成;
    信息完成

    2.2 使用python调用api接口

    先将官方文档的链接放在这里:https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
    调用实例代码如下:

    import json
    from urllib.request import urlopen, quote
    import requests
    def getlnglat(address):
        url = 'http://api.map.baidu.com/geocoding/v3/'
        output = 'json'
        ak = 'F5BrbxjbjGMMC3fGDMXK1q9' # 百度地图AK(自己创建好的应用里有,这里直接复制过来即可),
        address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码
        uri = url + '?' + 'address=' + address  + '&output=' + output + '&ak=' + ak 
        req = urlopen(uri)
    #     res = req.read().decode() 这种方式也可以,和下面的效果一样,都是返回json格式
        res=requests.get(uri).text
        temp = json.loads(res) # 将字符串转化为json
        try:
            lat = temp.get('result').get('location').get('lat')
            lng = temp.get('result').get('location').get('lng')
            str_lat_lng=str(lat)+','+str(lng)
        except Exception as e:
            str_lat_lng=' , '
        return str_lat_lng  # 纬度 latitude,经度 longitude
    

    调用方法如下:

    address="四川省南充市顺庆区新世纪百货1楼"
    getlnglat(address)
    

    调用结果截图:
    在这里插入图片描述

    3.计算两个经纬度之间的直线距离

    按照上面的方法,我们可以成功匹配到经纬度,有时候我们可能需要来计算两个经纬度之间的距离。

    import numpy as np
    import pandas as pd
    import math
    
    #lat lon - > distance
    # 计算经纬度之间的距离,单位为千米
    
    EARTH_REDIUS = 6378.137
    
    def rad(d):
        return d * np.pi / 180.0
    
    def getDistance(lat1, lng1, lat2, lng2):
        #lat表示维度,lng表示经度
        radLat1 = rad(lat1)
        radLat2 = rad(lat2)
        a = radLat1 - radLat2
        b = rad(lng1) - rad(lng2)
        s = 2 * math.asin(math.sqrt(math.pow(math.sin(a/2), 2) + math.cos(radLat1) * math.cos(radLat2) * math.pow(math.sin(b/2), 2)))
        #d的单位为千米
        d = s * EARTH_REDIUS
        return d
    

    调用方法及截图:
    在这里插入图片描述

    展开全文
  • 从字符串“127米”中提取数字127: 方法一、利用正则表达式 ...## ^ 匹配字符串的开始。 ## $ 匹配字符串的结尾。 ## \b 匹配一个单词的边界。 ## \d 匹配任意数字。 ## \D 匹配任意非数字
  • 不包含\n, 如何设置包含\nret = re.match(".*", "省略一万字", re.S) 单个字符 主要就是 [] 多个字符 相关语法 {3, 4} – 出现3到4次 * 出现任意多次 ?没有出现,或者只出现一次 至少出现一次 练习 ...
  • 如何实现字符串的匹配 题目描述: 给定主字符串 S 与模式字符串 P,判断 P 是否是 S 的子串,如果是,那么找出 P 在 S 中第一次出现的下标。 逐个比较: def match(s,p): if s==None or p==None: print('参数不合理...
  • 正则匹配法比较严谨一些,你说的数字有没有条件限制? 下面是一些常用的判断各种数字的正则表达式: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非...
  • python匹配两个字符串中间的字符

    千次阅读 2018-04-04 19:28:00
    问题:使用python正则如何匹配字符串中间的字符串解决:使用re模块的findall,注意,re.match是只能从开头匹配的方法: import re html_str = '</a></div></div>&...
  • match()是将要介绍的第一个re 模块函数和正则表达式对象(regex object)方法。match() 函数试图从字符串的起始部分对模式进行... m = re.match('foo', 'foo') # 模式匹配字符串 >>> if m is not None: # 如果
  • 如果正则没有显示出来的字符,比如“广告”,就会返回none 有个大佬说用 <code class="language-python">print(re.match('.*',text).group())</code></pre> 运行结果是 Hand Sanitizer ...
  • 匹配字符串中的第一个中文字符 匹配字符串中的第一个连续的中文片段 匹配字符串中的所有中文字符 注:要确保正则字符和匹配文本是 unicode 范围内的编码。 其他 扩充 范围 几个主要非英文语系字符范围: 2E80~...
  • 比如某字符串为 '12345666' 该字符串长度不固定,含多少个6也不确定 那么如何实现只把该字符串中的最后一个6替换为5呢? 如下: 可以先
  • "如何实现字符串的匹配"(python)

    千次阅读 2019-03-25 19:21:16
    分析与解答:对于字符串的匹配,最直接的方法就是逐个比较字符串中的字符,这种方法比较容易实现,但是效率也比较低下。对于这种字符匹配的问题,除了最常见的直接比较法外,经典的KMP算法也是不二选择,它能够...
  • KMP算法的核心思想主要通过分析前面字符串的信息的来滑动匹配字符串,避免当不匹配时像传统匹配算法回溯到匹配字符串的开头,而当不匹配时如何滑动这个问题就是由next[j]数组来决定,而求next[j]数组的核心思想就是...
  • 32|字符匹配基础上如何借助哈希算法实现高效字符匹配 32|字符匹配基础上如何借助哈希算法实现高效字符匹配 从今天开始我们来学习字符匹配算法字符匹配这样一个功能我想对于任何一个开发工程师来说应该都...
  • Python实现字符匹配算法

    千次阅读 2015-01-04 16:17:15
    字符匹配是一个经典的问题,即如何在一个给定的z字符串中查找一个给定的值。这里给出了最原始的蛮力字符匹配算法以及Horspool算法的实现,后者是利用时空权衡中输入增强技术对原始的蛮力算法进行改进。
  • Python正则表达式在使用中会经常应用到字符串替换的代码。有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获。 1.替换所有匹配的子串用newstring替换subject中所有与...
  • Regex 对象有一个 findall() 方法,它会返回包含所查找字符串的所有匹配。这与 search() 方法明显不同,search() 将返回一个 Match 对象,其中包含被查找字符串中的 “ 第一次 ” 匹配文本。请看以下示例,注意区分...
  • Python程序员面试算法宝典---解题总结: 第5章 字符串 5.9 如何实现字符串的匹配 题目: 给定主字符串S与模式字符串P,判断P是否是S的子串,如果是, 那么找出P在S中第一次出现的下标 分析: 举例,S为'abcd',P是'bc'...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 495
精华内容 198
关键字:

python如何匹配字符

python 订阅