Python正则化

Python正则化 符号 解释 示例 说明 . 匹配任意字符 b.t 可以匹配bat / but / b#t / b1t等 \w 匹配字母/数字/下划线 b\wt 可以匹配bat / b1t / b_t等 但不能匹配b#t \s 匹配空白字符(包括\r、\n、\t等) love\syou 可以匹配love you \d 匹配数字 \d\d 可以匹配01 / 23 / 99等 \b 匹配单词的边界 \bThe\b ^ 匹配字符串的开始 ^The 可以匹配The开头的字符串 $ 匹配字符串的结束 .exe$ 可以匹配.exe结尾的字符串 \W 匹配非字母/数字/下划线 b\Wt 可以匹配b#t / b@t等 但不能匹配but / b1t / b_t等 \S 匹配非空白字符 love\Syou 可以匹配love#you等 但不能匹配love you \D 匹配非数字 \d\D 可以匹配9a / 3# / 0F等 \B 匹配非单词边界 \Bio\B [] 匹配来自字符集的任意单一字符 [aeiou] 可以匹配任一元音字母字符 [^] 匹配不在字符集中的任意单一字符 [^aeiou] 可以匹配任一非元音字母字符 * 匹配0次或多次 \w* + 匹配1次或多次 \w+ ? 匹配0次或1次 \w? {N} 匹配N次 \w{3} {M,} 匹配至少M次 \w{3,} {M,N} 匹配至少M次至多N次 \w{3,6} | 分支 foo|bar 可以匹配foo或者bar (?#) 注释 (exp) 匹配exp并捕获到自动命名的组中 (?<name>exp) 匹配exp并捕获到名为name的组中 (?:exp) 匹配exp但是不捕获匹配的文本 (?=exp) 匹配exp前面的位置 \b\w+(?=ing) 可以匹配I’m dancing中的danc (?<=exp) 匹配exp后面的位置 (?<=\bdanc)\w+\b 可以匹配I love dancing and reading中的第一个ing (?!exp) 匹配后面不是exp的位置 (?<!exp) 匹配前面不是exp的位置 *? 重复任意次,但尽可能少重复 a.b a.?b 将正则表达式应用于aabab,前者会匹配整个字符串aabab,后者会匹配aab和ab两个字符串 +? 重复1次或多次,但尽可能少重复 ?? 重复0次或1次,但尽可能少重复 {M,N}? 重复M到N次,但尽可能少重复 {M,}? 重复M次以上,但尽可能少重复 Python对正则表达式的支持 Python提供了re模块来支持正则表达式相关操作,下面是re模块中的核心函数。 ...

July 8, 2022 · 1 min · laning

Markdown学习笔记

什么是Markdown? Markdown是一种轻量标记语言,可以转换为HTML文本,Github的README.md一般遵循Markdown语法规范。 Typora编辑器 Typora支持跨平台,支持Windows、MacOS、Linux Typora支持多种导出模式,可导出为多种PDF、Latex等 Markdown基本语法 标题 # 标题名 #个数表示不同层级标题 文字 *内容*或_内容_表示斜体文字 **内容**或__内容__表示加粗字体 ***内容***或__内容___表示斜体加粗字体 ~~内容~~表示删除线 <u>内容</u>表示下划线 ***或---或___表示分割线 ==内容==表示高亮 H~2~O 下标表示 面积 m^2^ 上标表示 表情 :smile :china 列表 *或+或-创建无序列表 1.+空格创建有序列表 表格 name | price :--- | :---: chicken | 5 coco | 3 ‘:—表示左对齐:—:表示居中对齐’ 引用 > 表示引用 支持嵌套引用如>>表示二级引用 代码 `内容`表示行内代码 ```语言类型 表示代码块 跳转 [link text](link)为外部跳转 [link text](#目的名称)为内部跳转 <url>表示超链接 图片 ![link text](link)

May 28, 2022 · 1 min · laning

通信协议原理实验

Github代码地址:https://github.com/laningya/UESTC-WORK/tree/master/Computer_Network/Experiment_1 一、实验室名称: 骨干传输系统实验室 二、实验项目名称: 通信协议原理实验 三、实验原理: 。利用实验所提供的通信软件,在局域网下建立全双工的通信信道用来传输比特流,通信双方可以将要传信息编码成比特流,通过软件传输,在对端进行解码。 四、 实验目的: 1、设计将汉字、英文字符等编/解码方法,并实验 2、设计在bit流基础上成帧的方法,并实验 3、 设计帧校验方法,并在有能力的情况下实现数据校验的算法 4、掌握和设计差错控制协议,在通信双方实现无差错传输 5、掌握和设计流量控制协议,避免浪费和尽量提高效率 五、实验内容: 在误码率为0时,进行信息传输,主要考验帧的定界、信息编码问题、ARQ问题 在误码率为千分之20时,进行信息传输,在上一次基础上要考虑差错控制问题 六、实验器材(设备、元器件): 1、分组实验,每组4~6人。 2、设备:计算机2台。 3、软件:通信模拟实验软件(comexpm.exe) 七、实验步骤: 1、组织实验小组成员进行实验分工。将小组成员及其分工记录在“实验报告”中。 2、根据通信模拟软件提供的传输服务,设计一个带差错控制功能的通信协议,并在“实验报告”中简要描述该协议内容,包括数据的表示方法、传送格式和通信的时序交互图。 3、使用通信模拟软件,设置误码率在0‰和20‰,实现通信过程:采用所设计的通信协议,发送方将一段文字发送给接收方,并解决这个过程中出现差错,尝试利用停等协议提高效率。在“实验记录”中记录本次通信过程:  发送方:将实验文字表示成在发送窗口要发送的文字内容;点击“发送数据”的次数;点击发送前软件发送窗口中的二进制比特数据;  接收方:点击“接收数据”的次数;每次点击接收时接收窗口中的二进制比特数据;根据接收内容还原后的文字内容。 4、根据“实验记录”中的记录信息分析所设计的通信协议的正确性、不足及其改进方法或建议,并在“实验报告”中阐述分析的结果以及自己对计算机通信设计问题和设计方法的体会。 1. 实验小组 小组名称 Spender 2. 通信协议的设计内容:  通信信息的表示方法; 要传送的信息分为两类,一类为字符,另外一类为汉字。字符由ASCII编码,故可用8Bit来进行编码;汉字使用GBK编码,GBK码用两个字节来表示一个汉字;GBK码对汉字进行了分区,用高字节(首字节)代表区号,用低字节代表该汉字在本区内的位置,例如【啊】这个汉字,它的GBK码是0XB0A1,高字节是0XB0表示它的区号,低字节0XA1表示他在0XB0区内的第0XA1个  通信信息的传送格式; 帧头:10001 标志位:0 或者 1 主要指示这是字符帧还是汉字帧 信息位:编码软件对要传输信息进行编码,并将其中出现的1000自动变换为10000,0111自动变化为01111 校验位:CRC-8循环冗余码 尾部:01110  通信双方的时序交互图。 停-等协议时序交互 3. 通信过程记录 (1)信道无差错误码时,发送的文字内容: 发送:Home agent 管理在外地的本地用户 点击“发送数据”的次数 2 。 第1次点击时发送窗口中的二进制比特数据: 10001001001000001101111101101101011001010010000000110000010110011110110010101101111001111010000010000000001101101110 第2次点击时发送窗口中的二进制比特数据: 10001111011110010111100111110110111100000001101101011010100111100001011001101111011000010110101111000010010110101101111110101100001111011000010110101111000001111101001111010011111011110110101110001110 接收:将因特网中的 AS 分为 area. 点击“接收数据”的次数 4 。 第1次点击时接收窗口中的二进制比特数据: 0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011000111010101111011111011111100101101001011011000011001100111111000011001101111010000011010110110000100101101010100000001110010101010101 CRC检验正确 1010101110111101 –将 1111001011010010 –因 1101100011001100 –特 1111100011001101 –网 1101000011010110 –中 1100010010110101 –的 第2次点击时接收窗口中的二进制比特数据: 010101010101010101010101010101010101010101010101010101010101010101010101011000100010000000100000010101001100100000000000011011100101010101010101010101 00100000 –‘空格’ 01000001 –A 01010011 –S 00100000 –‘空格’ 第3次点击时接收窗口中的二进制比特数据: 0101010101010101010101010101100011110101101011011111010101011001111000110000011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 1101011010110111 –分 1010101011001110 –为 第4次点击时接收窗口中的二进制比特数据: 0101010101010001000100000001100000101111001001100101011000001001011110010110000111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 00100000 –‘空格’ 01100001 –a 01110010 –r 01100101 –e 01100001 –a 00101110 –. (2)信道有差错误码时,发送/接收的文字内容: 发送:Shared Tree 的形成仅基于多播组 点击“发送”的次数 5 。 第1次点击时发送窗口中的二进制比特数据: 100010010100110110100000110000010111100100110010101100100000100000001010100001111001001100101011001010010000001100101001110 第2次点击时发送窗口中的二进制比特数据: 100010010100110110100000110000010111100100110010101100100000100000001010100001111001001100101011001010010000001100101001110 ...

April 3, 2022 · 2 min · laning

hello world!

#include <stdio.h> void main() { printf("hello world\n"); return; }

November 30, 2021 · 1 min · laning