虎书课后习题【第二章】

写着玩,不保证对,尽可能使用较短的正则表达式来完成。

正则表达式用的是自制正则表达式测试器(逃。

  • 2.1

    • 在b出现之前可以是a或c,而a和c没有限制,确保出现a之后就可以出现任意字符,所以应该是c*a+[a-c]*
    • 偶数个a……而且位置不确定,但是呢,可以保证的是a的数量是2的倍数,所以可以将两个a分为一组,把0也算上吧,于是就是([bc]*a[bc]*a[bc]*)*,当然吧前后两个[bc]*拿出来应该也是可以的(然后发现自制的测试器出bug了,回头再改……先用VS吧……)
    • 这个就是能除4就好了,虽然是二进制的……4的二进制是100,乘4的话就是左移两位,所以末尾是两个0就好,不算0的话就是0*1+[01]*00,算0的话更短[01]*00(前面0对数字没影响所以也算上)
    • 又是二进制,还是比大小,先确定至少是六位,要比101010,101100,110000都大,就可以得出(10101)、(1011)、(11)、(1)这四个前缀,换行换行换行,(10101[01]+)|(1011[01]{2,})|(11[01]{4,})|(1[01]{6,})
    • 不包含baa,还是连续的……所以就用条件查找吧,任意字符串,前后都不包含(baa)就好,[a-c]*(?!(baa))[a-c]*|[a-c]*(?<!baa)[a-c]*
      •   P.S. 这个不确定
    • 这题题目没看懂,我先找找小学语文课本;如果只是匹配十进制或八进制的话,就是(0?[0-7]+)|([1-9]+\d*)
    • 数学问题不会(捂脸)
  • 2.2
    • 这题涉及到自动机理论什么的,由于我不是很熟所以先略过吧
  • 2.3 直接用正则表达式写好了……

    • [01]{4}
    • a(a{5})*
    • [(0*)((101*01)*)]*
  • 2.4
    • 不方便画,先略过
时间: 2024-12-10 22:34:48

虎书课后习题【第二章】的相关文章

java语言程序设计基础课后习题第二章

1 //exercise 2.2 2 package secondchapterexercise1; 3 4 public class first01 { 5 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 double miles=100; 9 double KILOMETERS_PER_MILE=1.609; 10 double kilometers=miles*KILOMET

西瓜书课后习题——第一章

1.1 若表中只包含编号1和4两个样例,则训练数据集为 色泽 根蒂 敲声 是否好瓜 青绿 蜷缩 浊响 是 乌黑 稍蜷 沉闷 否 上表有三个属性,每个属性有两种取值,所以上述数据集的假设空间大小为3*3*3+1=28 编号 色泽 根蒂 敲声 与训练集正例是否一致 1 青绿 蜷缩 浊响 是 2 青绿 蜷缩 沉闷   3 青绿 蜷缩 ※ 是 4 青绿 稍蜷 浊响   5 青绿 稍蜷 沉闷   6 青绿 稍蜷 ※   7 青绿 ※ 浊响 是 8 青绿 ※ 沉闷   9 青绿 ※ ※ 是 10 乌黑 蜷缩

课后习题1-2章

第一章课后习题 (1) linux的发展史 Linux 操作系统的诞生创始人林纳斯·托瓦兹.发展和成长过程始终依赖着五 个重要支柱:UNIX 操作系统.MINIX 操作 系统.GNU计划.POSIX 标准 和Internet 网络. 1981 年IBM公司推出微型计算机IBM PC. 1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器 已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性, 实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linu

西瓜书课后习题——第六章

6.1 6.2 from libsvm.svm import * from libsvm.svmutil import * y = [1,1,1,1,1,1,-1,-1,-1,-1,-1,-1] x = [{1:0.774,2:0.376},{1:0.634,2:0.264},{1:0.608,2:0.318},{1:0.556,2:0.215},{1:0.403,2:0.237}, {1:0.481,2:0.149},{1:0.666,2:0.091},{1:0.243,2:0.267},{1

课后习题3-4章

1. sshd默认监听22端口,这个端口我们可以自定义更改,更改/etc/ssh/sshd_config配置文件,port 22 改为 port 1122 ,那么sshd就会监听1122端口了. 2. PuTTY, SecureCRT, Xshell等 3. 需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0(这里的eth0为你网卡的名字,注意区分), 一般需要修改IPADDR, NETMASK, GATEWAY, DNS1, DNS2 4. cento

python核心编程-习题-第二章

PS:PDF在线地址:http://bcmi.sjtu.edu.cn/~zhaohai/ptm2012/data/Python-kernel.programming.v2.pdf 2-1  变量,print 和字符串格式化运算符.启动交互式解释器,给一些变量赋值(字符串,数值等等)并通过输入变量名显示它们的值.再用 print 语句做同样的事.这二者有何区别? 也尝试着使用字符串格式运算符%,多做几次,慢慢熟悉. # -*- coding:utf-8 -*- >>>a = 123 >

计算机网络——自顶向下方法(第六版) 课后题 第二章

2.1节 R1.电子邮件:SMTP,远程终端访问:Telnet,Web:HTTP,文件传输:FTP,流式多媒体:HTTP,因特网电话:SIP R2.在应用程序研发者来看,网络体系结构是固定的,并为应用程序提供了特定的服务集合.应用程序体系结构由应用研发者规定了如何在端系统上组织该应用程序. R3.总是打开的是web服务器,通过web访问的是客户. R4.同意,在p2p体系结构中,每个主机都是对等的,他们之间直接通信. R5.IP地址,端口号. R6.TCP,数据不能丢失,udp不可靠,无保障.

《数据结构与算法Python语言描述》习题第二章第三题(python版)

ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本对象加r2的结果 -(self, Rational r2) #求出本对象减r2的结果 *(self, Rational r2) #求出本对象乘以r2的结果 /(self, Rational r2) #求出本对象除以r2的结果 num(self) #取出本对象的分子 den(self) #取出本对象的

《数据结构与算法Python语言描述》习题第二章第二题(python版)

ADT Date: #定义日期对象的抽象数据类型 Date(self, int year, int month, int day) #构造表示year/month/day的对象 difference(self, Date d2) #求出self和d2的日期差 plus(self, int n) #计算出日期第self之后n天的日期 num_date(self, int year, int n) #计算year年第n天的日期 adjust(self, int n) #将日期d调整n天(n为带符号整