100个正则表达式的入门实例和40个组合类型正则表达式实例

100个正则表达式的入门实例和40个组合类型正则表达式实例

正则表达式详解

数字:^[0-9]*$
n位的数字: ^\d{n}$
至少n位的数字: ^\d{n,}$
m-n位的数字: ^\d{m,n}$
零和非零开头的数字:^(0 [1-9][0-9]*)$
非零开头的最多带两位小数的数字: ^([1-9][0-9]*)+(\[0-9][1,2})?$
带1-2位小数的正数或负数: ^(\-)?\d+( \. \d{1,2})$
正数、负数、和小数:^(\- \+)?\d+(\.\d+)?$
有两位小数的正实数: ^[0-9]+(\.[0-9]{2})?$
有1~3位小数的正实数: ^[0-9]+(\.[0-9]{1,3})?$
非零的正整数: ^[1-9]\d*$ 或 ([1-9][0-9]*){1,3}$或 A\+?[1-9][0-9]*$
非零的负整数:^\-[1-9][]0-9"*$ 或 -[1-9]\d*$
非负整数: ^\d+$ 或 [1-9]\d*|0$
非正整数: ^-[1-9]\d*|0$ 或 ^((-\d+)(0+))$
非负浮点数: ^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*10.\d*[1-9]\d*10?\.0+10$
非正浮点数: ^((-\d+( .ld+)?)1(0+(\.0+)?))$ 或(-([1-9]\d*\.\d*l0\.\d*[1-9]\d*))10?\.0+10$

正浮点数: ^[1-9]\d*\.\d*lo\.\d*[1-9]\d*$ 或(([0-9]+\.[0-9]*[1-9][0-9]*)I([O-9]*[1-9][0-91*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
负浮点数: ^-([1-9]\d*\.\d*l0 .\d*[1-9]\d*)$ 或 (-(([0-9]+\.[0-9]*[1-9][0-9]*)1([0-9]*[1-9][0.9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮点数: ^(-?\d+)(\.\d+)?$ 或 -?([1-9]\d*\.\d*0\.\d*[1-9]\d*0?\.0+10)$

100个正则表达式的入门实例

  1. 匹配任何单个字符:.
  2. 匹配特定的字符:例如匹配字母a:a
  3. 匹配一组字符中的任何一个:例如匹配元音字母:[aeiou]
  4. 匹配除了一组字符以外的任何字符:例如匹配非元音字母:[^aeiou]
  5. 匹配重复的字符,如aaa或bbb:(a|b)\1+
  6. 匹配任意数字:\d
  7. 匹配任何非数字字符:\D
  8. 匹配任何空格字符:\s
  9. 匹配任何非空格字符:\S
  10. 匹配任何字母、数字和下划线字符:\w
  11. 匹配任何非字母、数字和下划线字符:\W
  12. 匹配前面的字符零次或多次:*
  13. 匹配前面的字符一次或多次:+
  14. 匹配前面的字符零次或一次:?
  15. 匹配字符串的开头:^
  16. 匹配字符串的结尾:$
  17. 匹配单词边界:\b
  18. 匹配非单词边界:\B
  19. 捕获分组中的文本并将其存储到变量中:(pattern)
  20. 不捕获分组中的文本:(?:pattern)
  21. 匹配前面的字符n次:{n}
  22. 匹配前面的字符至少n次:{n,}
  23. 匹配前面的字符至少n次但不超过m次:{n,m}
  24. 匹配任何一个换行符:\n
  25. 匹配任何一个回车符:\r
  26. 匹配任何一个制表符:\t
  27. 匹配一个或多个空格字符:\s+
  28. 匹配一个或多个非空格字符:\S+
  29. 匹配一个或多个字母:[a-zA-Z]+
  30. 匹配一个或多个数字:\d+
  31. 匹配一个或多个数字和一个可选的小数部分:\d+(.\d+)?
  32. 匹配一个IP地址:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
  33. 匹配一个URL:(http|https)://[\w-.]+(:\d+)?(/[\w/_.]*)?
  34. 匹配一个电子邮件地址:[\w.-]+@[\w.-]+.[a-zA-Z]+
  35. 匹配一个美国邮政编码:\d{5}(-\d{4})?
  36. 匹配一个日期(MM/DD/YYYY格式):(0[1-9]|1[0-2])/([0-2][1-9]|3[0-1])/\d{4}
  37. 匹配一个时间(HH:MM:SS格式):([01]\d|2[0-3]):[0-5]\d:[0-5]\d
  38. 匹配一个US电话号码:\d{3}-\d{3}-\d{4}
  39. 匹配一个HTML标签:<[^>]*>
  40. 匹配一个XML标签:<.*?>
  41. 匹配一个HTML注释:<!--.*?-->
  42. 匹配一个XML注释:<!--.*?-->
  43. 匹配一个CSS选择器:.[\w-]+
  44. 匹配一个CSS颜色值:#[a-fA-F0-9]{6}
  45. 匹配一个JSON键值对:"[\w\s]+" *: *("[^"]+"|\d+|true|false|null)
  46. 匹配一个Markdown标题:^#{1,6}\s+.+
  47. 匹配一个Markdown无序列表项:^*\s+.+
  48. 匹配一个Markdown有序列表项:^\d+.\s+.+
  49. 匹配一个Markdown链接:[[^]]+]([^)]+)

50. 匹配一个Markdown加粗文本:**.+**

51. 匹配一个Markdown斜体文本:*.+*

52. 匹配一个Markdown代码块:[\s\S]+?

53. 匹配一个Markdown引用文本:>\s+.+

54. 匹配一个Markdown图片:![[^]]+]([^)]+)

55. 匹配一个Markdown删除线:.+

56. 匹配一个CSV文件行:("[^"]+"|[^,]+)(,[^,]+)*

57. 匹配多个HTML标签:<(div|p|a|span)\b.?>[\s\S]?</\1>

58. 匹配一个Java注释://.|/*[\s\S]?*/

59. 匹配一个Python注释:#.*

60. 匹配一个JavaScript注释://.|/*[\s\S]?*/

61. 匹配一个SQL注释:--.|/[\s\S]?*/

62. 匹配一个C语言注释://.|/*[\s\S]?*/

63. 匹配一个C++注释://.|/*[\s\S]?*/

64. 匹配一个PHP注释://.|/*[\s\S]?*/

65. 匹配一个Ruby注释:#.

66. 匹配一个Swift注释://.|/*[\s\S]?*/

67. 匹配一个Perl注释:#.*

68. 匹配一个Shell注释:#.*

69. 匹配一个XML属性:\b\w+="[^"]"

70. 匹配一个XML标签内的文本:<[^>]>([^<])</[^>]>

71. 匹配一个XML CDATA块:<![CDATA[.?]]>

72. 匹配一个XML注释:<!--.?-->

73. 匹配一个CSS样式规则:[\w-]+ : [^;]+;

74. 匹配一个CSS媒体查询:@media\s+[^{]+{[\s\S]+?}

75. 匹配一个CSS关键帧动画:@keyframes\s+[\w-]+\s{[\s\S]+?}

76. 匹配一个CSS选择器列表:([\w-.#]+\s,\s*)[\w-.#]+

77. 匹配一个CSS单位值:\d+(px|em|%)

78. 匹配一个CSS URL值:url(['"]?[^)'"]+['"]?)

79. 匹配一个CSS颜色值:#[a-fA-F0-9]{3,6}

80. 匹配一个CSS字体名称:font-family:[^;]+;

81. 匹配一个CSS盒模型样式:box-(sizing|shadow|border|padding|margin):\S+;

82. 匹配一个CSS Flexbox布局样式:display:\s(-webkit-)?flex\S*;

83. 匹配一个CSS Grid布局样式:display:\s*-ms-grid\S*;

84. 匹配一个CSS过渡效果样式:transition:\S+;

85. 匹配一个CSS动画效果样式:animation:\S+;

86. 匹配一个CSS变量定义:--\w+:\S+;

87. 匹配一个CSS媒体查询的宽度值:(?<=width:)\d+(px|em|%)

88. 匹配一个CSS媒体查询的高度值:(?<=height:)\d+(px|em|%)

89. 匹配一个CSS媒体查询的最大宽度值:(?<=max-width:)\d+(px|em|%)

90. 匹配一个CSS媒体查询的最小宽度值:(?<=min-width:)\d+(px|em|%)

91. 匹配一个CSS媒体查询的最大高度值:(?<=max-height:)\d+(px|em|%)

92. 匹配一个CSS媒体查询的最小高度值:(?<=min-height:)\d+(px|em|%)

93. 匹配一个CSS媒体查询的屏幕方向:(?<=orientation:)[\w-]+

94. 匹配一个CSS媒体查询的设备类型:(?<=device-type:)[\w-]+

95. 匹配一个CSS媒体查询的分辨率:(?<=resolution:)\d+(dpi|dpcm|dppx)

96. 匹配一个CSS媒体查询的颜色模式:(?<=color-index:)[\d-]+

97. 匹配一个CSS媒体查询的光照条件:(?<=light-level:)[\w-]+

98. 匹配一个CSS媒体查询的触摸设备支持:(?<=pointer:)[\w-]+

99. 匹配一个CSS媒体查询的音频输出支持:(?<=output:)[\w-]+

100. 匹配一个CSS媒体查询的交互方式:(?<=interaction:)[\w-]+

40个组合类型正则表达式实例

  1. 匹配一个IP地址:^(?:(?:2[0-4]\d|25[0-5]|1\d{2}|[1-9]\d|\d).){3}(?:2[0-4]\d|25[0-5]|1\d{2}|[1-9]\d|\d)$
  2. 匹配一个URL链接:^(?:https?://)?(?:www.)?[-a-zA-Z0-9@:%.+~#=]{2,256}.[a-z]{2,6}\b(?:[-a-zA-Z0-9@:%+.~#?&//=]*)$
  3. 匹配HTML标签:<([a-z]+)([^<]+)(?:>(.)</\1>|\s+/>)$
  4. 匹配电话号码:^+?[0-9]{1,3}?[-.\s]?(([0-9]{1,3})|[0-9]{1,3})?[-.\s]?[0-9]{1,3}[-.\s]?[0-9]{1,4}[-.\s]?[0-9]{1,4}$
  5. 匹配电子邮件地址:^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$
  6. 匹配美国社会安全号码(SSN):^(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$
  7. 匹配日期:^([1-9]|[12][0-9]|3[01])- /.- /.\d\d$
  8. 匹配时间:^([0-1]?[0-9]|2[0-3]):([0-5][0-9])(:[0-5][0-9])?$
  9. 匹配银行卡号:^[0-9]{13,19}$
  10. 匹配邮政编码:^\d{5}-\d{4}|\d{5}$
  11. 匹配双字节字符串(包括中文字符):^[\u4e00-\u9fa5]+$
  12. 匹配DNS主机名:^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)(.[a-zA-Z0-9]+(-[a-zA-Z0-9]+))+$
  13. 匹配十六进制颜色代码:^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
  14. 匹配XML标记:<([a-z]+)([^<]+)(?:>(.)</\1>|\s+/>)$
  15. 匹配MD5哈希值:^[0-9a-fA-F]{32}$
  16. 匹配SHA1哈希值:^[0-9a-f]{40}$
  17. 匹配SHA256哈希值:^[0-9a-f]{64}$
  18. 匹配ISO 8601日期时间格式:^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])Tt:([0-5]\d):([0-5]\d)(.\d+)?([Zz]|(+-:([0-5]\d)))?)$
  19. 匹配UUID:^[a-fA-F0-9]{8}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{4}-?[a-fA-F0-9]{12}$
  20. 匹配ISBN(International Standard Book Number):^(?=.{17}|.{13}∣.13)[0-9]{1,5}([- ]?[0-9]+){2,4}[- ]?[0-9X]$
  21. 匹配MAC地址:^([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa
  22. 匹配HTML颜色代码:^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
  23. 匹配IPv6地址:^(?!:*::)(([a-fA-F0-9]{1,4}:){7}[a-fA-F0-9]{1,4}|([a-fA-F0-9]{1,4}:){1,6}:|[a-fA-F0-9]{1,4}::([a-fA-F0-9]{1,4}:){1,5}|([a-fA-F0-9]{1,4}:){2}::([a-fA-F0-9]{1,4}:){1,4}|([a-fA-F0-9]{1,4}:){3}::([a-fA-F0-9]{1,4}:){1,3}|([a-fA-F0-9]{1,4}:){4}::([a-fA-F0-9]{1,4}:){1,2}|([a-fA-F0-9]{1,4}:){5}::[a-fA-F0-9]{1,4}:|([a-fA-F0-9]{1,4}:){6}::))(([a−fA−F0−9]1,4:)7[a−fA−F0−9]1,4∣([a−fA−F0−9]1,4:)1,6:∣[a−fA−F0−9]1,4::([a−fA−F0−9]1,4:)1,5∣([a−fA−F0−9]1,4:)2::([a−fA−F0−9]1,4:)1,4∣([a−fA−F0−9]1,4:)3::([a−fA−F0−9]1,4:)1,3∣([a−fA−F0−9]1,4:)4::([a−fA−F0−9]1,4:)1,2∣([a−fA−F0−9]1,4:)5::[a−fA−F0−9]1,4:∣([a−fA−F0−9]1,4:)6::)
  24. 匹配HTML注释:<!--(.*?)-->
  25. 匹配邮件地址中的用户名部分(@符号前面的部分):^[^@\s]+$
  26. 匹配邮件地址中的域名部分(@符号后面的部分):@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$
  27. 匹配XML属性:(\w+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?
  28. 匹配QQ号码:^[1-9]\d{4,}$
  29. 匹配微信号:^[a-zA-Z][-_a-zA-Z0-9]{5,19}$
  30. 匹配中国大陆身份证号码:^\d{17}[\d|x]|\d{15}$
  31. 匹配中国香港身份证号码:^[a-zA-Z]\d{6}([0-9aA])$
  32. 匹配中国澳门身份证号码:^[1|5|7][0-9]{6}([0-9Aa])$
  33. 匹配中国台湾身份证号码:^[a-zA-Z][0-9]{9}$
  34. 匹配16进制数字:^0[xX][0-9a-fA-F]+$
  35. 匹配HTML标签内的文本:<[^>]+>([^<]+)</[^>]+>
  36. 匹配英文字母:^[a-zA-Z]+$
  37. 匹配非负整数:^\d+$
  38. 匹配科学计数法:^[+-]?\d+(?:.\d+)?(?:[eE][+-]?\d+)?$
  39. 匹配CSS选择器:^[.#]?[a-zA-Z0-9_-]+$
  40. 匹配JSON字符串(单引号或双引号包裹的对象或数组):^(?:"(?:\.|[^"])"|'(?:\.|[^'])')$

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
正则表达式经典实例第2版是一本关于正则表达式的经典参考书籍。它包含了丰富的实例和示例,帮助读者深入理解和应用正则表达式正则表达式是一种用于匹配和操作文本的强大工具,广泛应用于程序开发、文本处理和数据分析等领域。 这本书的第2版进一步完善了第1版的内容,包括新增了一些实用的正则表达式的应用场景和技巧。它从基础内容入手,介绍了正则表达式的语法和常用的元字符,然后逐步深入讲解了正则表达式的高级应用,如贪婪与非贪婪匹配、分组与引用、零宽断言等。 书中的实例丰富多样,涵盖了各种常见的文本处理需求,如匹配日期、验证邮箱、提取URL等。每个实例都有详细的说明和步骤,读者可以按照书上的示例进行实践,加深对正则表达式的理解和掌握。 这本书还特别关注了几种流行的编程语言和工具对正则表达式的支持和应用,如JavaScript、Java、Python和Perl等。对于不同的语言,书中提供了相应的实例和代码,帮助读者在实际项目中灵活运用正则表达式。 总之,正则表达式经典实例第2版是一本经典的正则表达式参考书籍,它详细介绍了正则表达式的语法和应用,提供了丰富的实例和示例,并涵盖了多种编程语言和工具的应用。通过学习这本书,读者可以掌握正则表达式的基本原理,提升文本处理和数据分析的技能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《代码爱好者》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值