正则表达式练习题(含答案)

这篇具有很好参考价值的文章主要介绍了正则表达式练习题(含答案)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python 正则表达式训练题

1. \d,\W,\s,\B,.,*,+,?分别是什么?

\d:数字
\W:非英文数字下划线的任意字符
\s:任意空白字符
\B:非单词开始或结尾的位置
.表示非换行符的任意字符
*表示匹配前面子表达式0次或多次
+表示匹配前面子表达式1次或多次
?表示匹配前面子表达式0次或1次

2. (?=a),(?<!a),(?<=a),(?!a)分别是什么?

(?=a)表示匹配a前面的字符
(?<!a)表示匹配前面不是a的字符
(?<=a)表示匹配a后面的字符
(?!a)表示匹配后面不是a的字符

3. 什么是贪婪匹配和懒惰匹配?

贪婪匹配:表示尽可能多的匹配,常见写法是.*
懒惰匹配:也叫非贪婪匹配,表示尽可能少的匹配,常见写法是.*?

4. \d{1,2}*这样的写法对吗?请说明理由。

不正确,这是因为所有限定类元字符后只能紧跟?这个限定类元字符,如果紧跟其他限定类元字符则会报错。正确的写法是(\d{1,2})*

5. 怎么让正则表达式从字符串的右边开始匹配?

使用KaTeX parse error: Undefined control sequence: \d at position 14: 则表示从右边开始匹配,比如\̲d̲{2}表示从右开始匹配两个数字

6. 写出验证用户名的正则表达式,用户名只能输入英文、数字和下划线。

^\w+$

7. 写出验证用户名的正则表达式,用户名只能输入汉字、英文、数字和下划线。

^[\w\u4e00-\u9fa5]+$

8. 验证用户密码,长度在6~18 之间,只能包含英文和数字。

^[A-Za-z0-9]{6,8} $

9. 验证用户密码强度,最少6位,至少包括1个大写字母、1个小写字母、1个数字和1个特殊字符。

^(?=.\d)(?=.[A-Z]) (?=.[a-z]) (?=.[!@ %^*?~])[\u4E00-\u9FA5A-Za-z0-9!@ %^*?~]{6,16}$

10. 匹配QQ号。

^[1-9]\d{4,12}$

11. 匹配Email地址。

([\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+)

12. 匹配手机号。

^1[3-9]\d{9}$

13. 匹配固定电话号码。

^((0\d{2,3})|0\d{2,3})-?\d{7,8}(-\d{1,6})?$

14. 用正则表达式分别提取固定电话号码中的区号和电话号。

(?<=()\d{3,4}(?=)-?\d{7,8}(-\d{1,6})?KaTeX parse error: Undefined control sequence: \d at position 4: )|^\̲d̲{3,4}(?=\-?\d{7…)

(?<=^\d{3,4}-?)\d{7,8}(?=(\d{1,6})?KaTeX parse error: Got function '\(' with no arguments as superscript at position 8: )|(?<=^\̲(̲\d{3,4}\)\-?)\d…)

(?<=^\d{3,4}-?\d{7,8}-)\d{1,6}KaTeX parse error: Got function '\(' with no arguments as superscript at position 7: |(?<=^\̲(̲\d{3,4}\)-?\d{7…

15. 匹配身份证号码。

^\d{18}|\d{17}[Xx]$

16. 匹配出身份证号码中的区域代码。

(?<=^)\d{6}(?=\d{12}KaTeX parse error: Undefined control sequence: \d at position 9: )|(?<=^)\̲d̲{6}(?=\d{11}[Xx…)

17. 用正则表达式匹配出身份证号中的出生日期。

(?<=^\d{6})\d{8}(?=\d{4}KaTeX parse error: Undefined control sequence: \d at position 8: )|(?<=^\̲d̲{6})\d{8}(?=\d{…)

18. 匹配银行卡号。

^[1-9]\d{12,18}$

19. 匹配邮政编码。

^\d{6}$

20. 匹配包含送货地址的字符串。

^[\s\S]送货地址[\s\S]$

21. 匹配车牌号。

^(京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新|[1-3]\d{5}使|(WJ)[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新]?((?=[A-Z])(?!I|O).|[0-9]){5}|((?=[A-Z])(?!I).){2}[0-9]{5})$

22. 匹配整数。

^-?\d+$

23. 匹配非零的负整数。

^\-(?!0)\d+$

24. 匹配非零的正整数。

^(?!0)\d+$

25. 匹配浮点数。

^(-?\d*.?\d*([eE][-+]?\d+)?|0)$

26. 匹配非负浮点数。

^(\d*.?\d*([eE][-+]?\d+)?|0)$

28. 匹配以下HTML中的URL:

<link rel=“search” href=“https://www.baidu.com” />
 (?<=href=\s?“).*?(?=”\s?/>)

29. 匹配HTML标记。

<.*?>

30. 匹配<a <123> <456> a>中的数字。

(?<=<)\d+(?=>)

31. 匹配<a <123 <456> a>中的数字。

(?<=<)\d+(?=>)?

32. 匹配以.com结尾的web域名。

^(?=^.{4,255}$)[a-zA-Z0-9][a-zA-Z0-9-]{0,62}(.[a-zA-Z0-9][a-zA-Z0-9-]{0,62})*.com$

33. 匹配IP地址。

^(2([0-4]\d|5[0-5])|1\d{2}|[1-9]\d|[1-9])(.(2([0-4]\d|5[0-5])|1\d{2}|[1-9]?\d)){3}$

34. 匹配MAC地址。

^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-z]{2}$

35. 匹配文件名的后缀(注意文件名中可能出现.号)

((?!.).)*?$

36. 匹配文件名(注意文件名中可能出现.号)。

^.*(?=.)

37. 匹配汉字。

[\u4e00-\u9fa5]

38. 匹配AABB型成语。

^([\u4e00-\u9fa5])\1((?=[\u4e00-\u9fa5])(?!\1).)\2$

39. 匹配ABAB型成语。

^([\u4e00-\u9fa5])((?=[\u4e00-\u9fa5])(?!\1).)\1\2$

40. 匹配yyyy-mm-dd格式的日期。

^(\d{4}(?!0{4})-((0[13578]|1[02])-31|(01|0[3-9]|1[0-2])-(29|30)|(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8]))|((\d{2}(0[48]|[13579][26]|[2468][048])|(0[48]|[13579][26]|[2468][048])00)-02-29))$

41. 使用正则表达式让2020-05-20 变成 2020.05.20

42. 使用正则表达式给数字加上千分符。

(?=\B(\d{3})+(?=.))

43. 去除字符串中的中文。

[\x{4e00)-\x({9fa5)]

44. 去除字符串中的特殊字符。

[^A-Za-z0-9\x{4e00)-\x({9fa5)]

45. 去除字符串中的空白字符。

\s

46. 匹配第一个连续出现的字符。

(.+)1文章来源地址https://www.toymoban.com/news/detail-455549.html

到了这里,关于正则表达式练习题(含答案)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 正则表达式和文本三剑客题型练习

    ​ 1、显示/etc/passwd文件中以bash结尾的行; 解释:使用 grep 工具来搜索文件 /etc/passwd 中匹配模式 \\\'bash$\\\' 的行。 bash$ 是一个正则表达式,其中 $ 表示行结尾。因此, \\\'bash$\\\' 匹配以 bash 结尾的行。 运行结果: ​ 2、找出\\\"netstat  -tan”命令的结果中,以‘LISTEN’后跟0或多个空白字

    2024年02月06日
    浏览(43)
  • 【Python习题集4】字符串与正则表达式

    1.输人一个字符串,将该字符串中下标为偶数的字符组成新串并通过字符串格式化方式显示。 (1)源代码 (2)运行结果截图 2.编写程序,生成一个由15个不重复的大小写字母组成的列表。 (1)源代码 (2)运行结果截图 3.给定字符串\\\"site sea suede sweet see kase sse sseeloses\\\",匹配出所有以

    2024年02月02日
    浏览(85)
  • 编译原理复习一:正则表达式-NFA NFA-DFA DFA最小化(附题目与答案 超详细)

    需要原卷和答案可以点赞关注收藏评论区留言私信 对题目解法有疑问也可留言 下面以具体考试题目来讲解编译原理考试中的重点题目,大致可以分为以下几道大题 1:正则表达式转换为NFA,NFA转换为DFA,DFA最小化 2:LR(0)分析,构造LR(0)自动机,进一步对SLR(1)进行分析,由于

    2023年04月22日
    浏览(31)
  • 【正则表达式】正则表达式常见匹配模式

    模式 描述 w 匹配字母数字及下划线 W 匹配非字母数字下划线 s 匹配任意空白字符,等价于 [tnrf]. S 匹配任意非空字符 d 匹配任意数字,等价于 [0-9] D 匹配任意非数字 A 匹配字符串开始 Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串 z 匹配字符串结

    2024年02月09日
    浏览(81)
  • 【SQL-正则】利用正则表达式进行过滤操作(常用正则表达式)

    1、由数字、26个英文字母或者下划线组成的字符串 2、非负整数(正整数 + 0 ) 3、正整数 4、非正整数(负整数 + 0) 5、负整数 6、整数 7、非负浮点数(正浮点数 + 0) 8、正浮点数 9、非正浮点数(负浮点数 + 0) 10、负浮点数 11、浮点数 12、由26个英文字母组成的字符串 13、

    2024年02月12日
    浏览(81)
  • Python正则表达式之学习正则表达式三步曲

            正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。         1、数据验证(eg:表单验

    2024年02月15日
    浏览(66)
  • Java 之正则表达式语法及常用正则表达式汇总

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称

    2024年02月09日
    浏览(71)
  • 蓝桥杯官网练习题(正则问题)

    题目描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是 6。 输入描述 一个由 x()| 组成的正则表达式。输入长度不超过 100,保证合法。 输出

    2024年02月05日
    浏览(56)
  • Vue课后练习题及答案解析

    第一章 Vue.js基础入门 填空题 Vue是一套构建________的渐进式框架。 MVVM主要包含3个部分,分别是Model、View和________。 Vue中通过________属性获取相应的DOM元素。 在进行Vue调试时,通过使用________工具来完成项目开发。 Vue中页面结构以________形式存在。 判断题 Vue与Angular和React框架

    2024年02月09日
    浏览(49)
  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包