字符

re模块

∥☆過路亽.° 提交于 2020-03-21 07:08:44
就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 字符匹配(普通字符,元字符): 1 普通字符:大多数字符和字母都会和自身匹配 >>> re.findall('alvin','yuanaleSxalexwupeiqi') ['alvin'] 2 元字符:. ^ $ * + ? { } [ ] | ( ) \ 元字符之. ^ $ * + ? { } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import re ret = re.findall( 'a..in' , 'helloalvin' ) print (ret) #['alvin'] ret = re.findall( '^a...n' , 'alvinhelloawwwn' ) print (ret) #['alvin'] ret = re.findall( 'a...n$' , 'alvinhelloawwwn' ) print (ret) #['awwwn'] ret = re.findall( 'a...n$' ,

1033 旧键盘打字

喜欢而已 提交于 2020-03-21 04:51:23
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 1 0 ​ 5 ​​ 个字符的串。可用的字符包括字母 [ a - z , A - Z ]、数字 0 - 9 、以及下划线 _ (代表空格)、 , 、 . 、 - 、 + (代表上档键)。题目保证第 2 行输入的文字串非空。 注意:如果上档键坏掉了,那么大写的英文字母无法被打出。 输出格式: 在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。 输入样例: 7+IE. 7_This_is_a_test. 输出样例: _hs_s_a_tst 思路:注意存在输出为空的情况...... 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int main() 5 { 6 int book[200]={0};//以字符为下标存坏键 7 char str; 8 int flag=0;//flag=0为无输出 9 while((str=getchar())!='\n') 10 { 11 if(str>='A'&&str<='Z') 12 book

IO之IO

走远了吗. 提交于 2020-03-20 18:29:56
3 月,跳不动了?>>> 概念: IO就是in和out。 IO是任何编程语言都无法回避的问题,IO问题是整个人机交互的核心问题,IO是机器获取和交换信息的渠道,IO问题很容易引起性能瓶颈。 java的IO可以大概分为四大类: 基于字节操作的IO接口:InputStream和OutputStream。 基于字符操作的IO接口:Reader和Writer。 基于磁盘操作的IO接口:File。 基于网络操作的IO接口:Socket。 前面两组只要根据数据的格式,后面两组根据传输数据的传输方式。而影响IO性能的也就是这两个方面:数据的格式、传输的方式(存储的方式)。 特性: 先进先出,最先写进输出流的数据最先被输入流读取到。 顺序存取,可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读出一串字节。不能随机访问中间的数据。 只读或只写,每个流只能是输入流或者输出流的一种,不能同时具备两种功能,输入流只能具备读功能,输出流只能具备写功能。在一个数据传输通道中,如果既要读又要写,则要分别提供两个流。 基于字节操作的IO接口: 基于字节操作的IO接口输入输出分别是InputStream和OutputStream。 输入流接口InputSream的继承关系是: 输入流根据类型和操作方式又被划分为几个子类,每个子类处理不同的类型,输出流与输入流相似。 继承InputStream的子类:

parseInt, parseFloat, Number!!!

送分小仙女□ 提交于 2020-03-20 15:17:01
①使用parseInt()转换有符号整数 parseInt() 的作用 被描述为 Parses a string argument and returns an integer of the specified radix or base. parseInt() 的使用方式:var num = parseInt(string[,radix]); parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。 但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止, 此时 parseInt() 将把该字符之前的字符串转换成数字。 常规用法举例说明: var num = parseInt("12abc"); //返回 12    var num = parseInt("56.9"); //返回 56 var num = parseInt("red"); //返回 NaN var num = parseInt("red123"); //返回 NaN parseInt() 方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由 parseInt() 方法的 第二个参数指定的,当然,对二进制、八进制、十六进制甚至十进制(默认模式)

C#时间函数和时间格式

不羁的心 提交于 2020-03-20 14:47:14
C#时间函数的用法C#时间格式输出 今天恰好周末,有时间打点自己的小站。看到别人都使用了站点地图,我也不能落后。于是按照网上说的下载了几个工具,可是发现并是很适合自己的站,于是想到了自己写代码生成站点地图。好,一切进展顺利,几小时后将自己用ASP.NET生成的站点地图提交给Google,没想到被警告了,只因为时间格式问题。于是找资料转换时间格式,终于通过了验收!足见时间格式在某些场合的重要性。有时候我们要对时间进行转换,达到不同的显示效果.C#时间函数的用法C#时间格式输出 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到ateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format="D"; DateTime date=DataTime,Now; Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo)); 结果输出 Thursday, June 16, 2005 参数format格式详细用法 格式字符 关联属性/说明 d ShortDatePattern D

Linux中ls命令的用法详解

放肆的年华 提交于 2020-03-20 13:23:16
一. 目录结构 使用 ls 命令我们首先要了解 Linux 下的目录结构 Linux 系统是由各种文件和目录构成的,就像 Windows 系统下文件和文件夹的关系,一级一级的向下包含扩展,例如在根目录下有 bin , boot , dev , etc , home 等目录而在这些目录下又包含了其他的文件和目录,这样就形成了以根目录 ” / ” 为根的树形结构 另:每个目录下都有 “ . ”“ .. ”这样的两个隐藏文件,“ . ”表示本文件,“ .. ”表示父目录 二. Linux 下的文件类型 在 Linux 下一切皆文件 everything is file ,包括目录也是文件的一种而这些文件被分为七种类型: • - :普通文件 • d: 目录文件 • b: 块设备 • c: 字符设备 • l: 符号链接文件 • p: 管道文件 pipe • s: 套接字文件 sock 三. Linux 中 ls 命令及其常用参数 ls 功能: 列出非目录的文件项,然后是每一个目录中的“可显示”文件(可理解为 ls 命令将本目录向下展开两级) ls 用法: ls [ 参数 ] [ 目录名 ] (如过要显示当前目录的文件可不加目录名) ls 常用参数 -a 显示所有文件,包含隐藏文件 -A 显示所有文件,包含隐藏文件,但不包含 . 及 .. -l 显示为 long format (长格式)

vim 实现批量注释

ぐ巨炮叔叔 提交于 2020-03-20 13:20:30
第一种方法 批量插入字符快捷键: Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选取列)或者 k (向上选取列),再按Shift + i 进入编辑模式然后输入你想要插入的字符(任意字符),再按两次Esc就可以实现批量插入字符,不仅仅实现批量注释而已。 批量删除字符快捷键: Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选取列)或者 k (向上选取列),直接(不用进入编辑模式)按 x 或者 d 就可以直接删去,再按Esc退出。 第二种方法 批量插入字符快捷键:命令行模式下,输入 " : 首行号,尾行号 s /^/字符/g "实现批量插入字符。如 输入:2,7s/^/#/g,在2到7行首插入# 批量删除字符快捷键:命令行模式下,输入 " : 首行号,尾行号 s /^字符//g "实现批量删除字符。如 输入:2,7s/^/#/g,在2到7行首删除# 来源: https://www.cnblogs.com/223zhp/p/11547012.html

vim批量注释和反注释快捷键

谁说胖子不能爱 提交于 2020-03-20 13:19:41
vim批量注释和反注释快捷键 我是个vim新手,非常喜欢这个工具,因为纯手工操作吧。可是有些快捷键还是不知道,写Python的时候经常要调试,会批量注释掉一些代码,vim不像pycharm那样 Ctrl+/ 就可以了,反注释还是Ctrl+/ 。不过vim在这方面显得更强大更灵活点。有两种方法可以实现: 第一种方法 批量插入字符快捷键: Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选取列)或者 k (向上选取列),再按Shift + i 进入编辑模式然后输入你想要插入的字符(任意字符),再按两次Esc就可以实现批量插入字符,不仅仅实现批量注释而已。 批量删除字符快捷键: Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选取列)或者 k (向上选取列),直接(不用进入编辑模式)按 x 或者 d 就可以直接删去,再按Esc退出。 第二种方法 批量插入字符快捷键:命令行模式下,输入 " : 首行号,尾行号 s /^/字符/g "实现批量插入字符。如 输入:2,7s/^/#/g,在2到7行首插入# 批量删除字符快捷键:命令行模式下,输入 " : 首行号,尾行号 s /^字符//g "实现批量删除字符。如 输入:2,7s/^/#/g,在2到7行首删除# 来源: https://www.cnblogs.com/davidshen/p

Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

被刻印的时光 ゝ 提交于 2020-03-20 12:22:47
# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:**客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。**那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?客户端可以向服务器发送增删改查各类请求,我们这里以比较复杂的查询请求为例来画个图展示一下大致的过程: ![image](./imgs/167f4c7b99f87e1c.png) > 虽然查询缓存有时可以提升系统性能,但也不得不因维护这块缓存而造成一些开销,比如每次都要去查询缓存中检索,查询请求处理完需要更新查询缓存,维护该查询缓存对应的内存区域。从MySQL 5.7.20开始,不推荐使用查询缓存,并在MySQL 8.0中删除。 ### 2.存储引擎 `MySQL`服务器把数据的存储和提取操作都封装到了一个叫`存储引擎`的模块里。我们知道`表`是由一行一行的记录组成的,但这只是一个逻辑上的概念,物理上如何表示记录,怎么从表中读取数据,怎么把数据写入具体的物理存储器上,这都是`存储引擎`负责的事情。为了实现不同的功能,`MySQL`提供了各式各样的`存储引擎`

字符型常量和字符串常量的区别?

别来无恙 提交于 2020-03-20 11:04:06
1、形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符 2、含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置) 3、占内存大小 字符常量只占 2 个字节; 字符串常量占若干个字节 (注意: char 在 Java 中占两个字节) 来源: https://www.cnblogs.com/holdoncomeon/p/12530037.html