正则大全,一定有你需要的,进来搜

那些常用的正则-大全


正则表达式(Regular Expression,简称regex或regexp)是编程中一个非常强大的工具,它用于匹配字符串中字符的组合。今天,我将为大家总结100个常用的正则表达式

正则大全,一定有你需要的,进来搜_第1张图片

1. 匹配数字

  • 正则:^\d+$
  • 描述:匹配一个或多个数字。

2. 匹配非负整数

  • 正则:^[0-9]+$^\d*$(包含0)
  • 描述:匹配非负整数(包括0)。

3. 匹配正整数

  • 正则:^[1-9]\d*$
  • 描述:匹配正整数,不包括0。

4. 匹配负整数

  • 正则:^-[1-9]\d*$
  • 描述:匹配负整数。

5. 匹配整数

  • 正则:^-?\d+$
  • 描述:匹配整数,包括正整数、负整数和0。

6. 匹配非负浮点数

  • 正则:^\d+(\.\d+)?$
  • 描述:匹配非负浮点数,包括整数部分和小数部分(小数部分可选)。

7. 匹配正浮点数

  • 正则:^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
  • 描述:匹配正浮点数,不包括0。

8. 匹配负浮点数

  • 正则:^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
  • 描述:匹配负浮点数。

9. 匹配浮点数

  • 正则:^-?\d+(\.\d+)?$(简单版)或更复杂的版本如上
  • 描述:匹配浮点数,包括正浮点数、负浮点数和0。

10. 匹配由26个英文字母组成的字符串

  • 正则:^[A-Za-z]+$
  • 描述:匹配由26个英文字母(大小写均可)组成的字符串。

11. 匹配由26个英文字母的大写组成的字符串

  • 正则:^[A-Z]+$
  • 描述:匹配由26个英文字母的大写组成的字符串。

12. 匹配由26个英文字母的小写组成的字符串

  • 正则:^[a-z]+$
  • 描述:匹配由26个英文字母的小写组成的字符串。

13. 匹配由数字和26个英文字母组成的字符串

  • 正则:^[A-Za-z0-9]+$
  • 描述:匹配由数字和26个英文字母(大小写均可)组成的字符串。

14. 匹配由汉字、英文、数字组成

  • 正则:^[\u4E00-\u9FA5A-Za-z0-9]+$
  • 描述:匹配由汉字、英文、数字组成的字符串。

15. 匹配Email地址

  • 正则:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  • 描述:匹配标准的Email地址格式。

16. 匹配网址URL

  • 正则:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))+((/\w+)*|/)$
  • 描述:匹配网址URL,支持http、https等协议。

17. 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)

  • 正则:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  • 描述:验证帐号是否合法,要求字母开头,长度5-16字节,允许字母、数字、下划线。

18. 匹配国内的电话号码(0511-4405222、021-87888822)

  • 正则:^\d{3}-\d{8}|\d{4}-\d{7}$
  • 描述:匹配国内的电话号码格式。

19. 匹配腾讯QQ号

  • 正则:^[1-9][0-9]{4,}$
  • 描述:匹配腾讯QQ号,要求5位及以上数字,且首位不为0。

20. 匹配中国大陆邮政编码

  • 正则:^\d{6}$
  • 描述:匹配中国大陆邮政编码,6位数字。

21. 匹配身份证(15位或18位数字)

  • 正则:^\d{15}|\d{18}$(简单版)或更复杂的验证格式
  • 描述:匹配中国身份证号码,支持15位和18位。

22. 匹配ip地址

  • 正则:^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$
  • 描述:匹配IPv4地址。

23. 匹配中文字符的正则表达式

  • 正则:[\u4e00-\u9fa5]
  • 描述:匹配中文字符。

24. 匹配双字节字符(包括汉字在内)

  • 正则:[^\x00-\xff]
  • 描述:匹配双字节字符,常用于判断字符串中是否包含汉字。

25. 匹配空行

  • 正则:\n[\s| ]*\r
  • 描述:匹配空行,常用于文本处理中去除空行。

26. 匹配HTML标记

  • 正则:/<(.*)>.*<\/(.*)>| 或 更复杂的版本
  • 描述:简单匹配HTML标记,更复杂的情况需要更精细的正则。

27. 匹配首尾空格

  • 正则:^\s*|\s*$
  • 描述:匹配字符串首尾的空格。

28. 匹配URL中的查询字符串参数及值

  • 正则:[?&]?([^=]+)=([^&]*)
  • 描述:从URL中提取查询字符串的参数及值。

29. 匹配年份(四位数)

  • 正则:^(19|20)\d{2}$
  • 描述:匹配1900-2099年的年份。

30. 匹配月份(01-12)

  • 正则:^(0?[1-9]|1[0-2])$
  • 描述:匹配月份,支持01-12的格式。

31. 匹配日期(01-31)

  • 正则:^(0?[1-9]|[12][0-9]|3[01])$
  • 描述:匹配日期,支持01-31的格式。

32. 匹配小时(24小时制,00-23)

  • 正则:^(2[0-3]|[01]?[0-9])$
  • 描述:匹配小时,24小时制。

33. 匹配分钟(00-59)

  • 正则:^[0-5]?[0-9]$
  • 描述:匹配分钟,支持00-59的格式。

34. 匹配秒(00-59)

  • 正则:^[0-5]?[0-9]$
  • 描述:匹配秒,支持00-59的格式。

35. 匹配由数字、26个英文字母或者下划线组成的字符串

  • 正则:^\w+$
  • 描述:匹配由数字、26个英文字母或者下划线组成的字符串。

36. 匹配由特定数量的不同字符组成的字符串

  • 正则:^(?=.*(.)(?!.*\1)){n}.*$(其中n为不同字符的数量,需复杂处理)
    描述:匹配以“/特定前缀/”开头的URL路径。

37. 匹配非空白字符

  • 正则:\S+
  • 描述:匹配至少包含一个非空白字符的字符串。

38. 匹配由数字和大写字母组成的字符串

  • 正则:^[0-9A-Z]+$
  • 描述:匹配由数字和大写字母组成的字符串。

39. 匹配由数字和小写字母组成的字符串

  • 正则:^[0-9a-z]+$
  • 描述:匹配由数字和小写字母组成的字符串。

40. 匹配包含至少一个大写字母的字符串

  • 正则:(?=.*[A-Z]).+
  • 描述:匹配至少包含一个大写字母的字符串。

41. 匹配包含至少一个小写字母的字符串

  • 正则:(?=.*[a-z]).+
  • 描述:匹配至少包含一个小写字母的字符串。

42. 匹配包含至少一个数字的字符串

  • 正则:(?=.*\d).+
  • 描述:匹配至少包含一个数字的字符串。

43. 匹配包含至少一个特殊字符的字符串(如@、#、$等)

  • 正则:(?=.*[@#$%^&+=!]).+
  • 描述:匹配至少包含一个特殊字符的字符串,这里以@、#、$等为例。

44. 匹配MAC地址

  • 正则:^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
  • 描述:匹配MAC地址,支持冒号和短横线分隔的格式。

45. 匹配IPv6地址

  • 正则:(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]|[1-9]|)[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]|[1-9]|)[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]|[1-9]|)[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]|[1-9]|)[0-9]))
  • 描述:匹配IPv6地址,这是一个相对复杂的正则表达式,用于验证IPv6地址的格式。

46. 匹配文件名(包含扩展名)

  • 正则:^[\w\.-]+$
  • 描述:匹配文件名,包含字母、数字、下划线、点和短横线。

47. 匹配文件路径(Windows风格)

  • 正则:^[a-zA-Z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$
  • 描述:匹配Windows风格的文件路径。

48. 匹配文件路径(Unix风格)

  • 正则:^\/(?:[^\/\0]+\/)*[^\/\0]*$
  • 描述:匹配Unix风格的文件路径。

49. 匹配颜色代码(十六进制)

  • 正则:^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
  • 描述:匹配十六进制颜色代码,支持6位和3位格式。

50. 匹配UUID

  • 正则:^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
  • 描述:匹配UUID(通用唯一识别码)的格式。

51. 匹配基数词(如第一、第二、第三等)

  • 正则:^[第一二三四五六七八九十百千万亿]+[零一二三四五六七八九十百千万亿度分秒]*$(简化版)
  • 描述:匹配中文基数词的格式,这里给出的是一个简化版,实际应用中可能需要更复杂的正则。

52. 匹配版本号(如1.0.0、2.1.3等)

  • 正则:^(\d+)\.(\d+)\.(\d+)$
  • 描述:匹配常见的软件版本号格式。

53. 匹配时间(24小时制,HH:mm:ss)

  • 正则:^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$
  • 描述:匹配24小时制的时间格式。

54. 匹配日期和时间(YYYY-MM-DD HH:mm:ss)

  • 正则:^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
  • 描述:匹配日期和时间的组合格式。

55. 匹配重复的单词

  • 正则:\b(\w+)\s+\1\b
  • 描述:匹配文本中重复的单词。

56. 匹配连续的数字序列

  • 正则:(?:012|123|234|345|456|567|678|789)
  • 描述:匹配连续的三个数字序列,这里以012-789为例。

57. 匹配以特定字符开头的字符串

  • 正则:^特定字符.*
  • 描述:匹配以“特定字符”开头的字符串,这里“特定字符”需替换为实际字符。

58. 匹配以特定字符结尾的字符串

  • 正则:.*特定字符$
  • 描述:匹配以“特定字符”结尾的字符串,这里“特定字符”需替换为实际字符。

59. 匹配包含特定子串的字符串

  • 正则:.*特定子串.*
  • 描述:匹配包含“特定子串”的字符串,这里“特定子串”需替换为实际子串。

60. 匹配不包含特定子串的字符串

  • 正则:^(?!.*特定子串).*$
  • 描述:匹配不包含“特定子串”的字符串,这里“特定子串”需替换为实际子串。

61. 匹配由特定字符组成的字符串(如仅由a、b、c组成)

  • 正则:^[abc]+$
  • 描述:匹配仅由a、b、c组成的字符串。

62. 匹配手机号码(中国大陆)

  • 正则:^1[3-9]\d{9}$
  • 描述:匹配中国大陆的手机号码格式。

63. 匹配固定电话号码(含区号)

  • 正则:^0\d{2,3}-\d{7,8}$
  • 描述:匹配含区号的固定电话号码格式。

64. 匹配银行卡号(16-19位数字)

  • 正则:^\d{16,19}$
  • 描述:匹配银行卡号,通常为16-19位数字。

65. 匹配车牌号(中国大陆)

  • 正则:^[A-Za-z]{1}[A-Za-z0-9]{5}[A-Za-z0-9\u4e00-\u9fa5]$(简化版,考虑新能源车牌等可能需更复杂)
  • 描述:匹配中国大陆车牌号,包括普通车牌和新能源车牌(此为正则简化版)。

66. 匹配身份证号码(中国大陆,18位)

  • 正则:^\d{17}[\dXx]$
  • 描述:匹配中国大陆18位身份证号码,最后一位可以是数字或字母X(不区分大小写)。

67. 匹配由特定数量的特定字符组成的字符串

  • 正则:^([特定字符]){n}$(其中n为数量,特定字符需替换)
  • 描述:匹配由n个“特定字符”组成的字符串,如匹配5个连续的“a”。

68. 匹配包含至少n个连续数字的字符串

  • 正则:(?=.*\d{n,}).+(其中n为数量)
  • 描述:匹配包含至少n个连续数字的字符串。

69. 匹配仅包含字母和数字的字符串(不含特殊字符)

  • 正则:^[a-zA-Z0-9]+$
  • 描述:匹配仅由字母和数字组成的字符串,不包含任何特殊字符。

70. 匹配以大写字母开头的单词

  • 正则:\b[A-Z][a-zA-Z]*\b
  • 描述:匹配以大写字母开头的单词,单词边界由\b表示。

71. 匹配包含特定单词的句子

  • 正则:.*特定单词.*(其中“特定单词”需替换)
  • 描述:匹配包含“特定单词”的句子,这里“特定单词”需替换为实际单词。

72. 匹配由特定字符分隔的字符串(如逗号分隔)

  • 正则:^([^,]+,)*[^,]+$(以逗号为例)
  • 描述:匹配由逗号分隔的字符串列表,可以扩展为其他分隔符。

73. 匹配重复出现的模式(如ababab)

  • 正则:^(?:特定模式)+$(其中“特定模式”需替换,如abab
  • 描述:匹配重复出现的特定模式,如ababab

74. 匹配不包含任何数字的字符串

  • 正则:^\D+$
  • 描述:匹配不包含任何数字的字符串。

75. 匹配仅包含小写字母的字符串

  • 正则:^[a-z]+$
  • 描述:匹配仅由小写字母组成的字符串。

76. 匹配URL地址

  • 正则:^https?:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}\/?[a-zA-Z0-9\-._~:\/?#@!$&'()*+,;=]*$(简化版)
  • 描述:匹配URL地址,包括http和https协议,此为正则简化版。

77. 匹配电子邮件地址

  • 正则:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
  • 描述:匹配标准的电子邮件地址格式。

78. 匹配HTML标签

  • 正则:<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)(简化版)
  • 描述:匹配HTML标签,此为正则简化版,实际应用中可能需要更复杂的正则。

79. 匹配正整数

  • 正则:^[1-9]\d*$
  • 描述:匹配正整数,不包括0和负数。

80. 匹配负整数

  • 正则:^-[1-9]\d*$
  • 描述:匹配负整数,以“-”开头,后接数字。

81. 匹配非负整数(正整数和0)

  • 正则:^\d+$
  • 描述:匹配非负整数,包括0和正整数。

82. 匹配非正整数(负整数和0)

  • 正则:^((-\d+)|(0))$
  • 描述:匹配非正整数,包括0和负整数。

83. 匹配浮点数(小数)

  • 正则:^-?\d+(\.\d+)?$
  • 描述:匹配浮点数,包括正浮点数、负浮点数和0.x形式的小数。

84. 匹配科学计数法表示的数字

  • 正则:^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$
  • 描述:匹配科学计数法表示的数字,如1.23e+10。

85. 匹配由特定字符开头的行

  • 正则:^特定字符.*$(其中“特定字符”需替换)
  • 描述:匹配以“特定字符”开头的行。

86. 匹配由特定字符结尾的行

  • 正则:.*特定字符$(其中“特定字符”需替换)
  • 描述:匹配以“特定字符”结尾的行。

87. 匹配包含特定单词的行

  • 正则:.*特定单词.*$(其中“特定单词”需替换)
  • 描述:匹配包含“特定单词”的行。

88. 匹配多行文本中的空行

  • 正则:^\s*$(在多行模式下使用)
  • 描述:匹配多行文本中的空行,包括只有空白字符的行。

89. 匹配由特定数量的空格分隔的单词

  • 正则:^(\S+\s{n}){m}\S+$(其中n为空格数量,m为单词对数-1)
  • 描述:匹配由n个空格分隔的m+1个单词,如匹配由3个空格分隔的2个单词。

90. 匹配包含特定字符集的字符串(如仅包含ascii字符)

  • 正则:^[\x00-\x7F]+$
  • 描述:匹配仅包含ASCII字符的字符串。

当然,以下是继续生成的正则表达式示例:

91. 匹配由字母或数字组成的用户名(长度限制)

  • 正则:^[a-zA-Z0-9]{6,20}$
  • 描述:匹配由字母或数字组成的用户名,长度在6到20个字符之间。

92. 匹配包含至少一个大写字母、一个小写字母和一个数字的密码

  • 正则:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$
  • 描述:匹配包含至少一个大写字母、一个小写字母和一个数字的密码。

93. 匹配日期格式(YYYY-MM-DD)

  • 正则:^\d{4}-\d{2}-\d{2}$(简单验证,不检查有效性)
  • 描述:匹配日期格式,如2023-04-01。注意,此正则不验证日期的有效性。

94. 匹配时间格式(HH:MM:SS)

  • 正则:^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
  • 描述:匹配24小时制的时间格式,如14:30:00。

95. 匹配日期和时间格式(YYYY-MM-DD HH:MM:SS)

  • 正则:^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
  • 描述:匹配日期和时间格式,如2023-04-01 14:30:00。

96. 匹配MAC地址

  • 正则:^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
  • 描述:匹配MAC地址,支持冒号或短横线分隔。

97. 匹配IP地址(IPv4)

  • 正则:^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
  • 描述:匹配IPv4地址,如192.168.1.1。

98. 匹配十六进制数

  • 正则:^0x[0-9A-Fa-f]+$
  • 描述:匹配以0x开头的十六进制数。

99. 匹配由特定字符组成的字符串(如仅包含字母a-f)

  • 正则:^[a-f]+$
  • 描述:匹配仅由字母a到f组成的字符串。

100. 匹配不包含特定子字符串的字符串

  • 正则:^((?!特定子字符串).)*$(其中“特定子字符串”需替换)
  • 描述:匹配不包含“特定子字符串”的字符串。注意,这种正则可能在某些情况下效率较低。

101. 匹配重复特定次数的字符

  • 正则:^([特定字符]){n}$(其中n为次数,特定字符需替换)
  • 描述:匹配重复n次的特定字符,如匹配3个连续的“*”。

102. 匹配以特定字符开头和结尾的字符串

  • 正则:^特定字符开头.*特定字符结尾$(其中“特定字符开头”和“特定字符结尾”需替换)
  • 描述:匹配以“特定字符开头”开头并以“特定字符结尾”结尾的字符串。

103. 匹配包含特定字符集的字符串(如仅包含字母和数字,但首字符不能为数字)

  • 正则:^[A-Za-z][A-Za-z0-9]*$
  • 描述:匹配首字符为字母,后续字符可以为字母或数字的字符串。

104. 匹配以特定前缀开头的字符串(如URL路径)

  • 正则:^\/特定前缀\/.*$(其中“特定前缀”需替换)
  • 描述:匹配以“/特定前缀/”开头的URL路径。

这些正则表达式涵盖了各种常见的匹配需求,但请注意,正则表达式可能因具体需求而有所调整。在实际应用中,建议根据具体情况进行测试和优化。

正则大全,一定有你需要的,进来搜_第2张图片

你可能感兴趣的:(前端,前端)