正则表达式的及基础学习练习题

一、简介

正则就是一些具有特殊含义的符号,例如:* . ^ $

二、grep命令

作用:从文件中过来满足条件的行

格式:grep [选项] 条件 文件名

案例:

#1 创建测试文件
[root@localhost ~]# vim t1.txt
my name is zxhk
i come from hebei
i love linux and python
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#2 从测试文件中过滤出包含 # 的行
[root@localhost ~]# grep "#" t1.txt 

#3 从测试文件中过滤出包含 zxhk 的行
[root@localhost ~]# grep "zxhk" t1.txt

3、正则符号

符号含义
.代表任意一个字符
*代表其前面的字符出现任意次数
.*表示任意个任意字符
^表示的是行首部
$表示的是行尾部

案例1:关于 . 的案例

#准备测试文件
[root@localhost ~]# vi t1.txt 
my name is zxhk
i cme from hebei
i come from hebei
i ciome from hebei
i cioiame from hebei
i love linux and python
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#1 过滤出c和m之间有两个字符的行
[root@localhost ~]# grep "c..m" t1.txt

案例2:关于 * 的案例

# 准备测试文件
[root@localhost ~]# cat t2.txt 
a
ab
aab
aaab
aaababa
aaaaaabbbaba
b
bb
bbb

#2 过滤出b前面有任意个a的行【可能是0个,  1个 , 或者多个】
[root@localhost ~]# grep "a*b" t2.txt

案例3:过滤出包含字母 l 和 p 的行,而且l要在前

#准备测试文件
[root@localhost ~]# vi t1.txt 
my name is zxhk
i cme from hebei
i come from hebei
i ciome from hebei
i cioiame from hebei
qq lp abcd
qq l   p  abcd
qq laaap abcd
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

# 答案
[root@localhost ~]# grep "l.*p" t3.txt

案例4:

#准备测试文件
[root@localhost ~]# vi t1.txt 
my name is zxhk
i cme from hebei
root i come from hebei
i ciome from  root hebei 
i cioiame from hebei  root
root
qq lp abcd
qq l   p  abcd
qq laaap abcd
haha
#test page
hellow world boys
test age # qq 123
asdf asdf qwer q we #

#1 过滤出包含root的行
# 答案1:
[root@localhost ~]# grep "root" t4.txt 
# 答案2:
[root@localhost ~]# grep ".*root.*" t4.txt 

#2 过滤出以root为开头的行
[root@localhost ~]# grep "^root" t4.txt 

#3 过滤出以root为结尾的行
[root@localhost ~]# grep "root$" t4.txt

#4 过滤出仅仅有root的行
[root@localhost ~]# grep "^root$" t4.txt


三、练习题

#1 过滤出以#为开头的行
 

#2 过滤出以#为结尾的行
 

#3 过滤出以a为开头,以b为结尾,中间包含字母c的行
 

#4 过滤出倒数第二个字符是c的行
 

#5 过滤出第二个字符是c的行
 

答案:

#1 过滤出以#为开头的行
grep "^#" 文件名

#2 过滤出以#为结尾的行
grep "#$" 文件名

#3 过滤出以a为开头,以b为结尾,中间包含字母c的行
grep "^a.*c.*b$"

#4 过滤出倒数第二个字符是c的行
grep "c.$"

#5 过滤出第二个字符是c的行
grep "^.c"


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 哈工大形式语言与自动机理论MOOC练习题分为两部分:选择题和编程题。选择题主要考察学生对于形式语言与自动机理论的基本概念和知识的掌握程度,题目不考察太深入的细节,大多数都可以在课程的PPT中找到答案。编程题主要考察学生对于自动机的理解和能力的实现,需要学生熟练掌握Python语言的基本语法和知识,并且需要结合课程中讲解的内容,掌握如何用Python实现自动机的构建和分析。 选择题中包括一些比较典型的题目,例如求解最短字符串、判断语言的等价性、求解正则表达式等等。这些题目都是在课程中详细讲解过的,需要学生认真复习PPT中的内容,掌握重点难点,才能对选择题答题有较好的准确率。 编程题中一般不会有太多的代码要求,主要是考查学生如何运用Python语言来实现自动机。例如,求解一个正则表达式的DFA,需要学生熟练掌握正则表达式的基本语法和Python的re模块,以及如何将正则表达式转换为NFA和DFA,并且实现DFA的最小化算法。编程题难度相对选择题会比较高,需要学生对于理论知识的掌握和动手能力有一定的要求,同时也需要学生具备一定的代码思维和分析能力。 综上所述,哈工大形式语言与自动机理论MOOC练习题是一个相对严谨的练习题库,需要学生认真复习课程中的内容,并且结合大量的实践演练,才能够掌握理论知识和动手能力,提高自己的学习水平和能力。 ### 回答2: 哈工大形式语言与自动机理论MOOC练习题是在学习该课程的过程中重要的一环。该课程涵盖了形式语言与自动机理论的基础知识,通过课程练习题的完成,可以帮助学生更好地掌握理论知识,加强对于课程内容的理解。 在完成哈工大形式语言与自动机理论MOOC练习题的过程中,需要掌握一定的逻辑思维能力,以及一定的代码编程能力。题目通常涉及到正则表达式、自动机等相关知识点,需要学生能够灵活运用这些知识点,组织解题思路。 此外,在完成练习题的过程中,还需要学生注重细节和准确性。这些细节可能会影响到最终的解题结果,因此学生需要仔细和认真地完成每一个步骤。 总之,完成哈工大形式语言与自动机理论MOOC练习题学习该课程不可或缺的一部分,它对于学生掌握理论知识、提高逻辑思维能力、加强编程技能都有重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值