match

13.python内置模块之re模块

做~自己de王妃 提交于 2020-02-27 01:58:01
什么是正则? 正则表达式也称为正则,是一个特殊的字符序列,能帮助检查一个字符串是否与某种模式匹配。可以用来进行验证:邮箱、手机号、qq号、密码、url = 网站地址、ip等。正则不是python语言独有的技术,python语言直到1.5版本才将正则表达式完成的整理/纳入进re模块中,我们只需要导入re模块,然后就可以使用其中所有和正则相关的函数和属性了。 1. re 模块中最常用的几 个函数 1). re.match函数: 功能: 将string数据从头开始尝试匹配 ;如果匹配成功,那么就会返回给程序一个 match对象 ;如果开头就不匹配,那么直接返回None值; 语法格式: re . match ( regex , string[ , flags = 0] ) 参数: regex:匹配的正则表达式(内部定义了一套验证规则) string:需要被验证的字符串数据 flags:可选参,模式/标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。默认情况下(不显示定义) --> 不开启任何的模式 【注意】匹配成功re.match方法返回一个 匹配的对象 ,否则返回None。我们可以使用group(num) 或 groups() 等匹配对象函数来获取 匹配表达式 。match对象有5个常用的函数: (1). group(): 返回匹配成功的数据值(理解

Android简易天气预报App

陌路散爱 提交于 2020-02-27 01:15:34
先看下app效果图: App介绍 :首次启动应用时列表显示全国34个省份及直辖市包括港澳台,如果选择省份进入所在省份下的市列表,如果再选择市项进入该市下所有的区或县(包括该市)列表,如果再选择该列表下的项就显示该区域的天气预报界面。图5从左滑出侧边栏可以选择其他城市。如果是非首次启动,则显示上次选择的城市天气预报界面(比如退出时显示广州的天气预报界面即图4,再次进入时仍显示该界面)。 具体app功能实现: 1.获取全国城市列表(图1到图3) 想罗列出中国所有的省份,只需要访问地址: http://guolin.tech/api/china ,服务器会返回一段JSON格式的数据,包含中国所有省份名称以及省份id。如果想知道某个省份内有哪些城市,比如江苏的id是16,访问地址:http://guolin.tech/api/china/16。只需要把省份id添加到url地址的最后面即可。比如苏州的id是116,那么想知道苏州下有哪些县和区的时候,访问地址:http://guolin.tech/api/china/16/116。如此类推。 本app使用DataSupport这款开源的数据库框架进行城市查询,需要在app下的build.gradle导入: implementation 'org.litepal.android:core:1.4.1'

Python中正则表达式用法 重点

我只是一个虾纸丫 提交于 2020-02-26 15:53:12
Python中正则表达式基础知识 </h1> <div class="clear"></div> <div class="postBody"> 一、正则表达式   1.使用正则表达式的动机     1. 文本处理已经成为计算机常见工作之一     2. 对文本内容的搜索,定位,提取是逻辑比较复杂的工作     3. 为了快速方便的解决上述问题,产生了正则表达式技术   2.定义:     即文本的高级匹配模式,提供搜索,替换等功能。其本质是由一系列字符和特殊符号构成的字串,这个字串即正则表达式。   3.原理:     通过普通字符和有特定含义的字符,来组成字符串,用以描述一定的字符串规则,比如:重复,位置等,来表达某类特定的字符串,进而匹配。   4.元字符使用:     1.普通字符--------匹配规则:每个普通字符匹配其对应的字符       e.g.         In : re.findall('ab',"abcdefabcd")         Out: ['ab', 'ab']     注意:正则表达式在python中也可以匹配中文     2.或关系(|)       元字符: |       匹配规则: 匹配 | 两侧任意的正则表达式即可       e.g.         In : re.findall('com|cn',"www.baidu.com

从零开始学习MySQL全文索引

风流意气都作罢 提交于 2020-02-26 14:01:39
目录 一、为什么要用全文索引 二、什么是全文索引 三、如何创建全文索引 四、创建测试数据 五、查询-使用自然语言模式 六、查询-使用布尔模式(强大的语法) 语法 示例 七、查询-使用扩展模式 八、注意事项 一、为什么要用全文索引 传奇小说 m.xs86.com 我们在用一个东西前,得知道为什么要用它,使用全文索引无非有以下原因 like查询太慢、json字段查询太慢(车太慢了) 没时间引入ElasticSearch、Solr或者Sphinx这样的软件,或者根本就不会用(无法将五菱宏光换成兰博基尼,即使有兰博基尼也不会开) 加索引、联合索引啥的都已经慢得不行了(限速80,车顶盖都卸了也只能开到30) 为了提升一下自己的逼格(人家问你有没有开过法拉利,你说开过肯定更有气质一点) 二、什么是全文索引 简单的说,全文索引就相当于大词典中的目录,通过查询目录可以快速定位到想看的内容。 全文索引通过建立 倒排索引 来快速匹配文档(仅在mysql5.6版本以上支持) 全文索引将连续的 字母、数字和下划线 当做一个单词,分割单词一般用 空格/逗号/句号 MySQL的全文索引支持以下3种查询模式: 自然语言模式( IN NATURAL LANGUAGE MODE ) 通过MATCH AGAINST 传递某个特定的字符串来进行检索 布尔模式( IN BOOLEAN MODE ) 支持操作符,例如

RelativeLayout中的宽度百分比

北战南征 提交于 2020-02-26 06:21:42
我正在为我的Android应用程序中的登录 Activity 表单布局。 下图是我想要的样子: 我可以使用以下 XML 来实现此布局。 问题是,它有点骇人听闻。 我必须对主机EditText的宽度进行硬编码。 具体来说,我必须指定: android:layout_width="172dp" 我真的很想给主机和端口EditText的百分比宽度。 (大约80%用于主机,20%用于端口。)这可能吗? 以下XML在我的Droid上可用,但似乎不适用于所有屏幕。 我真的想要一个更强大的解决方案。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/host_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/home" android:paddingLeft="15dp" android

Day2_25_第五天 Fragment高级进阶

主宰稳场 提交于 2020-02-26 02:26:27
Fragment高级进阶 一.Fragment回退栈 二.Fragment传值 1.Activity给Fragment传值 2.Fragment给Activity传值 3.Fragment给Fragment传值 三.Fragment多层嵌套 一.Fragment回退栈 通过代码,将fragment加入到栈中,按返回键时会将fragment弹栈 public class Main2Activity extends AppCompatActivity { private FragmentManager supportFragmentManager ; private BlankFragment blankFragment ; private Button butBack ; @Override protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . activity_main2 ) ; initViews ( ) ; } private void initViews ( ) { supportFragmentManager = getSupportFragmentManager ( ) ;

正则表达式方法的使用

眉间皱痕 提交于 2020-02-25 22:10:35
Python 的 re 模块 在 Python 中,我们可以使用内置的 re 模块来使用正则表达式。 有一点需要特别注意的是,正则表达式使用 对特殊字符进行转义,所以如果我们要使用原始字符串,只需加一个 r 前缀,示例: r’chuanzhiboke\t.\tpython’ re 模块的一般使用步骤如下: 使用 compile() 函数将正则表达式的字符串形式编译为一个 Pattern 对象 通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果,一个 Match 对象。 最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作 compile 函数 compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的一般使用形式如下: import re 将正则表达式编译成 Pattern 对象 pattern = re.compile(r’\d+’) 在上面,我们已将一个正则表达式编译成 Pattern 对象,接下来,我们就可以利用 pattern 的一系列方法对文本进行匹配查找了。 Pattern 对象的一些常用方法主要有: match 方法:从起始位置开始查找,一次匹配 search 方法:从任何位置开始查找,一次匹配 findall 方法:全部匹配,返回列表 finditer 方法:全部匹配,返回迭代器 split 方法

mongo 数据去重

此生再无相见时 提交于 2020-02-25 01:32:28
mongo中有许多重复的id,去重只保留一个,sql如下 可以参考文章 db . outboundCustomer . aggregate ( [ { $match : { status : 'notsent' } } , { $group : { _id : "$sfdcId" , count : { $sum : 1 } , dups : { $addToSet : '$_id' } } } , { $match : { count : { $gt : 1 } } } ] , { allowDiskUse : true } ) . forEach ( function ( doc ) { doc . dups . shift ( ) ; db . outboundCustomer . remove ( { _id : { $ in : doc . dups } } ) ; } ) $match 是匹配,这里匹配的是status=notsent $group是分组,这里是按照sfdcId字段 $addToSet是加入一个数组中 第二个$match为group分组后>1的数据 前四项相当于 select count ( 1 ) , sfdcid from outboundCustomer where status = 'notsent' group by sfdcid having

Disabling Elasticsearch search analyzer

为君一笑 提交于 2020-02-24 12:26:20
问题 I'm working on the elasticsearch version 7.2 and i'm in the process of improving the performance of ES calls made by the application. From what I read, if we haven't set a "search analyzer" , by default standard analyzer will be set. But in a case where a analyzer is not needed ,having an analyzer may affect performance. Do having all fields as "keywords" prevents this? Or is there any other way to disable this "search analyzer" Ps: For any answer if you could point me to the ES official

Android:ScrollView和SwipeRefreshLayout高度测量

偶尔善良 提交于 2020-02-24 12:00:14
今天组里的同事要做一个奇葩的效果,要求在ScrollView里嵌套一个RefreshLayout。类似代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> //红色背景 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff00ff"> //黄色背景 <android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:background="#ffff00"> //黑色背景 <LinearLayout android:layout_width="match