正则表达式集合

12、C正则表达式与集合的使用指南 本文详细介绍了C#中正则表达式的实用示例以及集合的使用方法。通过多个具体场景,展示了正则表达式在文本匹配、替换和提取中的强大功能;同时讲解了.NET框架提供的各种集合类及其适用场景,并探讨了如何高效地实现自定义集合的遍历与优化。结合正则表达式与集合的综合应用,帮助开发者提升开发效率和代码质量。 阅读详情

分类: Python/Ruby

IPv4地址
正则表达式:^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
测试环境:Javascript/.Net/C++/JAVA
特点:匹配IPv4地址

IPv6地址
正则表达式:^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$
测试环境:Javascript/.Net/C++/JAVA
特点:支持IPv6的基本格式

IPv6地址
正则表达式:^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^:((:[\da-fA-F]{1,4}){1,6}|:)$|^[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){5}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$
测试环境:Javascript/.Net/C++/JAVA
特点:支持压缩

IPv6地址
正则表达式:^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
测试环境:Javascript/.Net/C++/JAVA
特点:只支持IPv6/IPv4混合地址。前面IPv6部分支持压缩

IPv6地址
正则表达式:^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^:((:[\da-fA-F]{1,4}){1,6}|:)$|^[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){5}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$
测试环境:Javascript/.Net/C++/JAVA
特点:支持所有格式的IPv6地址



分析:
       IPv4:通常用点分十进制表示IP地址。IP地址长4个字节共32位,点分十进制将其分为4部分,中间用“.”号分开,所以每部分共8位,二进制为“00000000”到“11111111”,十进制为“0”到“255”。
       IPv6:由128位(8*16),分8段,每段16位,段与段之间用“:”分开,用十六进制表示,格式FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,IPv6地址可以压缩。

IPv4匹配:
0.0.0.0
255.255.255.255
192.168.1.1
0.0.0.1
01.1.1.1
5.025.25.25

IPv4不匹配:
111.111.111.256

IPv6匹配:
5e:0:0:0:0:0:5668:eeee
5e:0:0:023:0:0:5668:eeee
5e::5668:eeee
::1:8:8888:0:0:8
1::
::1:2:2:2
::

IPv6不匹配:
5e::5668::eeee
55555:5e:0:0:0:0:0:5668:eeee

IPv6/IPv4混合地址匹配:
11:11:e:1EEE:11:11:200.200.200.200
e:ee:5:e::0.0.0.254
::EfE:120.0.0.1
::120.0.0.1
ee:ee::11.11.11.125

------------------------------------------------------------------------
                       小数的正则表达式
------------------------------------------------------------------------

小数
正则表达式:^([-+]?[1-9]\d*\.\d+|-?0\.\d*[1-9]\d*)$
测试环境:.NET/Javascript

分析:
       不考滤科学计数法。

匹配:
0.012
0.000000005
-0.000000005
1.00001
-1.000000010
24.215
+2.25
1.0
       
不匹配:
0.0
0000.02
001.001
1.1.1

------------------------------------------------------------------------
                       E-mail地址的正则表达式
------------------------------------------------------------------------

E-mail地址
正则表达式:^[a-zA-Z0-9]((?测试环境:.NET/C++
特点:域名部分可以为IP地址,不考滤域名部分为主机名的情况,域名部分不能保证总长度在256字符以内。

分析:
       E-mail地址分三部分:
       第一部分:用户帐号。
       第二部分:“@”符号(英文单词“at”的符号化)。
       第三部分:域名或者IP地址。
       您的邮箱名应该由a-Z、A-Z、0-9开头,邮箱名可由英文字母、0~9的数字、点、减号或下划线组成;邮箱名长度为3~18个字符;邮箱名不能以点、减号或下划线结尾,不能出现连续两个或两个以上的点、减号。

匹配:
321635@qq.com
3565352@10.0.0.1
dslfklds3546_.-dl@dlsk.com
lsdkf__dlskflk@ds.com

不匹配:
adfd@hostname
sdfsdlk..ldsfil@ds.com
aa@d.com
-dfddsf@ad.com

------------------------------------------------------------------------
                       手机号码的正则表达式
------------------------------------------------------------------------
手机
正则表达式:^((\+86)?|\(\+86\))0?1[358]\d{9}$
测试环境:.Net

分析:
       手机号码长度11位,以 1 开头,第二位是 3、5 或者 8 (好像有了189开头的号码了)。

匹配:
13111111111
015111111111
+8613111111111
+8615111111111
+86015111111111
(+86)13111111111
不匹配:
11111111111
131111111
151111111111

------------------------------------------------------------------------
                       域名的正则表达式
------------------------------------------------------------------------
正则表达式:^([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\.)+([0-9a-zA-Z][0-9a-zA-Z-]{0,62})\.?$
测试环境:.NET/Javascript/C++
特点:无法保证全长在256字符以内。

分析:
       一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,单个域长度不超过63,完整的域名全长不超过256个字符。在DNS系统中,全名是以一个点“.”来结束的,例如“www.nit.edu.cn.”。没有最后的那个点则表示一个相对地址。

匹配:
www.baidu.com
sd-.2222222.22222222222.222222222222222.22222222.222222222.dfsd.cslkd

不匹配:
sdlkk.ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd.cn

------------------------------------------------------------------------
                       固定电话的正则表达式
------------------------------------------------------------------------
区号:^0?([1-9]\d|[3-9][13579]\d|[3-9][24680]\d{2})$

国家代码:+86
正则表达式:\+86

区号-市话号码                        如:10-11111111,010-11111111
正则表达式:^0?([1-9]\d-\d{6,8}|[3-9][13579]\d-\d{6,7}|[3-9][24680]\d{2}-\d{6})$

区号-市话号码-分机                          如:10-11111111-111,010-11111111-111
正则表达式:^0?([1-9]\d-\d{6,8}|[3-9][13579]\d-\d{6,7}|[3-9][24680]\d{2}-\d{6})(-\d{3})$

区号<这里是相连的>市话                如:1011111111,01011111111
正则表达式:^0?([1-9]\d\d{6,8}|[3-9][13579]\d\d{6,7}|[3-9][24680]\d{2}\d{6})$

所有格式:^((\+86)?|\(\+86\)|\+86\s)0?([1-9]\d-?\d{6,8}|[3-9][13579]\d-?\d{6,7}|[3-9][24680]\d{2}-?\d{6})(-\d{3})?$

分析:
       手机号码:11位,以 1 开头,第二位是 3 或者 5。没考滤服务器的号码。
       固定电话:总长10位,区号=10-4位,市话长度=10-N,可能还有3位分机号。开头的“0”不是区号部分,而是供长途直拔电话业务使用的字头。
       手机: 国家代码+手机号
       电话:国家代码+区号+电话号码

  原邮电部对此有如下规定:(1)北京、天津等区号两位的城市市话号码长度不大于8位,因为市 话号码首位不能为1、0,最终容量可达八千万部。(2)各省会城市和大城市的区号三位,第一位选取“3、4、5、6、7、8、9”共七个数字,第二位选取单数“1、3、5、7、9”共五个数字,第三位随意。(3)各县城及小城市的区号四位,第一位选取“3、4、5、6、7、8、9”共七个数字,第二位选取双数“2、4、6、8、0”共五个数字,第三、四位随意。

匹配:
1334567890
031-3145678-123
010-11111111
(+86)010-13901691-123

不匹配:
+861678901
(+89)07912140337

------------------------------------------------------------------------
                               日期的正则表达式
------------------------------------------------------------------------

分析:
       中国式日期为“年-月-日”
       年:1到任意在于1的整数,不能“0”开头。
       月:1到12。
       日:1、3、5、7、8、10、12月有31天;4、6、9、11月有30天,闰年2月份有29天,否则28天。
       闰年的条件是符合下面二者之一:
               (1)能被4整除,但不能被100整除。
               (2)能被4整除,又能被400整除。//缩写为能被400整除。
       #00格式(#代表任何数),只要#能被4整除,#00就一定能被400整除(闰年)。
       非#00格式(也就不能被100整除了),能被4整除。
第一年的2月份都有28天,只要是闰年还要加一天。现在的任务是找出闰年。
100以内能被4整除的有:
00 04 08 12 16
20 24 28 32 36
40 44 48 52 56
60 64 68 72 76
80 84 88 92 96
他们的表达式为:(0?[048]|[2468][048]|[13579][26])

#00一定会被4整除,所以,只要#能被4整除,#00就一定能被400整除,他就是闰年。
#00格式闰年:(\d*(0?[048]|[2468][048]|[13579][26])00)
因为不能为#00格式,所以要从上面的表中删除00这个结果。
非#00格式闰年:(\d*(0?[48]|[2468][048]|[13579][26]))
把上面两个正则表达式合并
闰年:(\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))

整数01-28:(2[0-8]|[01]\d)
整数01-30:(30|[012]\d)
整数01-31:(3[01]|[012]\d)

整数1-28:(2[0-8]|1\d|[1-9])
整数1-30:(30|[12]\d|[1-9])
整数1-31:(3[01]|[12]\d|[1-9])
把上面两组格式合并在一起:
整数1-28:(2[0-8]|1\d|0?[1-9])
整数1-30:(30|[12]\d|0?[1-9])
整数1-31:(3[01]|[12]\d|0?[1-9])

现在我们把它们全部组合成中国“年-月-日”格式
^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))-0?2-29)$|^[1-9]\d*-((0?[13578]|10|12)-(3[01]|[12]\d|0?[1-9])|(0?[469]|11)-(30|[12]\d|0?[1-9])|(0?2)-(2[0-8]|1\d|0?[1-9]))$

匹配:
1-1-1
244-02-29
10-10-10
2000-2-29
2008-2-29
不匹配:
2009-2-29
2009-13-10
1005-12-65

中国“年/月/日”格式
^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))\/0?2\/29)$|^[1-9]\d*\/((0?[13578]|10|12)\/(3[01]|[12]\d|0?[1-9])|(0?[469]|11)\/(30|[12]\d|0?[1-9])|(0?2)\/(2[0-8]|1\d|0?[1-9]))$
匹配:
1/1/1
244/02/29
10/10/10
2000/2/29
2008/2/23
不匹配:
2009/2/29
2009/13/10
1005/12/65


中国“年.月.日”格式
^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))\.0?2\.29)$|^[1-9]\d*\.((0?[13578]|10|12)\.(3[01]|[12]\d|0?[1-9])|(0?[469]|11)\.(30|[12]\d|0?[1-9])|(0?2)\.(2[0-8]|1\d|0?[1-9]))$
匹配:
1.1.1
244.02.29
10.10.10
2000.2.29
2008.2.23
不匹配:
2009.2.29
2009.13.10
1005/12/65

中国“年/月/日”、“年-月-日”、“年.月.日”格式
(^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))-0?2-29)$|^[1-9]\d*-((0?[13578]|10|12)-(3[01]|[12]\d|0?[1-9])|(0?[469]|11)-(30|[12]\d|0?[1-9])|(0?2)-(2[0-8]|1\d|0?[1-9]))$)|(^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))\/0?2\/29)$|^[1-9]\d*\/((0?[13578]|10|12)\/(3[01]|[12]\d|0?[1-9])|(0?[469]|11)\/(30|[12]\d|0?[1-9])|(0?2)\/(2[0-8]|1\d|0?[1-9]))$)|(^((\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26]))\.0?2\.29)$|^[1-9]\d*\.((0?[13578]|10|12)\.(3[01]|[12]\d|0?[1-9])|(0?[469]|11)\.(30|[12]\d|0?[1-9])|(0?2)\.(2[0-8]|1\d|0?[1-9]))$)
匹配:
1/1/1
244/02/29
10/10/10
2000/2/29
2008/2/29
244-02-29
10-10-10
2000-2-28
2008.2.29
不匹配:
1-1/1
2009/2/29
2009/13/10
1005/12/65
2009-2-29
2009-13-10
1005-12-65

中国“年月日”格式(用于身份证编码等),年由4位数表示,月2位,日2位
^(((0[048]|[2468][048]|[13579][26])00|\d\d(0[48]|[2468][048]|[13579][26]))0229)$|^\d{4}((0[13578]|10|12)(3[01]|[12]\d|0[1-9])|(0[469]|11)(30|[12]\d|0[1-9])|02(2[0-8]|1\d|0[1-9]))$
匹配:
19880329
20001220
20080229
不匹配:
1988329
20090229
20091310
10051265

欧美“月/日/年”格式
^(0?2\/29\/(\d*(0?[048]|[2468][048]|[13579][26])00|\d*(0?[48]|[2468][048]|[13579][26])))$|^((0?[13578]|10|12)\/(3[01]|[12]\d|0?[1-9])|(0?[469]|11)\/(30|[12]\d|0?[1-9])|(0?2)\/(2[0-8]|1\d|0?[1-9]))\/[1-9]\d*$
匹配:
1/1/1
02/29/244
10/10/10
02/29/2000
2/29/2008
不匹配:
2/29/2009
13/10/2009
12/65/1005

------------------------------------------------------------------------
                               时间的正则表达式
------------------------------------------------------------------------

时间
正则表达式:
^([01]?\d|2[123]):([0-4]?\d|5\d)(:([0-4]?\d|5\d)(\.\d+|-?0\.\d*[1-9]\d*)? )?(am|AM|pm|PM)?$
缺点:

分析:
       时间格式:HH:mm:ss [am|pm|AM|PM]
                              HH:mm [am|pm|AM|PM]
       HH在0-23之间,mm在0-59之间,ss是大于等于0小于60的小数或整数。
匹配:
1:1:1 am
23:59:59.999
21:58
不匹配:
24:20:20



------------------------------------------------------------------------
                               身份证号码的正则表达式
------------------------------------------------------------------------
国内的身份证号码
正则表达式:(^\d{6}((0[48]|[2468][048]|[13579][26])0229|\d\d(0[13578]|10|12)(3[01]|[12]\d|0[1-9])|(0[469]|11)(30|[12]\d|0[1-9])|(02)(2[0-8]|1\d|0[1-9]))\d{3}$)|(^\d{6}((2000|(19|21)(0[48]|[2468][048]|[13579][26]))0229|(((20|19)\d\d)|2100)(0[13578]|10|12)(3[01]|[12]\d|0[1-9])|(0[469]|11)(30|[12]\d|0[1-9])|(02)(2[0-8]|1\d|0[1-9]))\d{3}[\dX]$)

一代身份证号码:^\d{6}((0[48]|[2468][048]|[13579][26])0229|\d\d(0[13578]|10|12)(3[01]|[12]\d|0[1-9])|(0[469]|11)(30|[12]\d|0[1-9])|(02)(2[0-8]|1\d|0[1-9]))\d{3}$
二代身份证号码:^\d{6}((2000|(19|21)(0[48]|[2468][048]|[13579][26]))0229|(((20|19)\d\d)|2100)(0[13578]|10|12)(3[01]|[12]\d|0[1-9])|(0[469]|11)(30|[12]\d|0[1-9])|(02)(2[0-8]|1\d|0[1-9]))\d{3}[\dX]$

测试环境:C++/.NET/JAVA/Javascript
属性:多行模式,大小写敏感
特点:不能验证二代身份证校验码位的正确性。

分析:

一代15位身份证号码:六位数字地址码,第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
二代18位身份证号码:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 
       生日期码(身份证第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。
       顺序码(身份证第十五位到十七位)为同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。 
       校验码(身份证最后一位)是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。 

1984年8月30日我国颁发了第一批身份证(一代身份证),可由此
假设1.持有身份证的人中最老的在1900年出生。
假设2.一代身份证持有人在1900-2010年间出生。
假设3.二代身份证持有人在1900-2100年间出生。

1900-2100年间
闰年:(2000|(19|21)(0[48]|[2468][048]|[13579][26]))
平年:(19|21)(0?[1235679]|[2468][1235679]|[13579][01345789])

匹配:
34052419800229001X
340524800229001
340524199001010013
不匹配:
34052419800101001a
21552418801010011
340524850229001
34052422800110081X
34052419800229001x
Python集合的正则表达式匹配应用 在Python编程的世界里,集合和正则表达式都是非常强大的工具。集合是一种无序且唯一的数据结构,就像一个装着各种不同物品的盒子,每个物品都独一无二,不会有重复。而正则表达式则是一种用于匹配字符串模式的工具,它就像是一个神奇的搜索框,可以按照我们设定的规则去查找符合要求的字符串。当我们将集合和正则表达式结合起来时,就能实现更高效、更灵活的字符串匹配操作。例如,在数据清洗、文本处理、信息提取等领域,这种结合都有着广泛的应用。 阅读详情

相关推荐

掌握JavaScript集合处理与正则表达式的力量

本文深入探讨了JavaScript中处理集合的方法,包括如何模拟Set对象以及ES6新增的Set集合类型。同时,本文还涉及了正则表达式的基础知识,包括其用途、创建方式和基本语法。通过示例代码,展示了如何使用正则表达式进行复杂的文本匹配和数据校验,帮助读者掌握这些强大的工具来提升编程效率。

weixin_35935514的博客 920

正则表达式(全)

参考测试工具: C++:Regex Match Tracer .NET环境:Code Architects Regex Tester JAVA:JRegexpTester Javascript:http://regexpal.com/ -----------------------------------------...

人生若只如初见 860

JavaScript集合与正则表达式的力量

本文探讨了JavaScript中集合和正则表达式的使用,展示了如何利用这些工具处理数据并进行模式匹配。集合的使用去除了数组中的重复元素,而正则表达式则在字符串处理和数据验证中展现出其强大能力。

weixin_42613018的博客 373

科学计数法正则表达式

自认为基本覆盖全的科学计数法正则表达式 /** * [\\+|-]?:+或-只出现0次或1次 * \\d+:数字出现一次或多次 * (.{0}|.\d+):如果有小数点就必须有小数,否则没有 * [Ee){1}:存在E或e * ([\+|-]?\d+):正负整数 */ String SCIENTIFIC="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$"; ...

Becolette的博客 7874

云服务器安装ros教程

要在 CentOS 7 系统上安装 RouterOS,您需要将 RouterOS 安装为虚拟机或直接安装到物理硬盘上。这里提供的是将 RouterOS 安装到物理硬盘上的步骤,这将完全替换现有的 CentOS 7 系统。请确保您已经备份了所有重要数据。

qq_37662563的博客 2145

致远OA公文管理模块相关操作

致远oa协同办公系统 公文管理模板 相关操作

weixin_59666050的博客 4272

常用正则表达式-IPv4地址

常用正则表达式-IPv4地址

杨小熊学习笔记 1万+

轮廓系数(Silhouette Coefficient)

轮廓系数(Silhouette Coefficient)是一种评估聚类效果的指标,用来衡量数据点在聚类中的紧密程度和分离程度。每个数据点的轮廓系数是通过比较该点与其所在聚类内的点的平均距离(内聚度)和该点与最近的其他聚类中的点的平均距离(分离度)来计算的。轮廓系数的值范围从-1到1,其中接近1的值表示该点很好地匹配其自身聚类,并且与相邻聚类差异很大,而接近-1的值则表示该点更适合与相邻的聚类而不是当前聚类。

qlkaicx的博客 4020

【IPv6】IP字符串格式的正则表达式及详解

IPv6正则表达式

m0_48955918的博客 3996

基于STM32、HAL库的WF282A气压传感器 驱动程序设计

测量范围:0-2.5MPa(可根据需求选择其他量程)输出方式:I2C或SPI数字接口。温度补偿范围:-20℃~85℃。低功耗设计,适合电池供电应用。工作电压:3.3V/5V。精度:±0.1%FS。

corlin6688的博客 394

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

weixin_42162924的博客 34

干货 | IPv6正则表达式攻略

点击上方“中兴开发者社区”,关注我们每天读一篇一线开发者原创好文【摘要】多个市场要求无线4G网管全面支持IPv6,在开发过程中,遇到大量需要做IPv6校验的地方,本文通过正则表达式解决IPv6校验的问题,来介绍正则表达式最基本的用法,帮助大家入门,打消对正则表达式的心理恐惧。【关键词】IPv6,正则表达式 1 背景在学习正则表达式时,有一个美式笑话:“Some people, when confr

中兴开发者社区 5797

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上)

【Verilog基础】CDC跨时钟域方法,典型异步电路设计之脉冲同步器(上):慢时钟域到快时钟域!

悟已往之不谏 知来者之可追 1544

Java正则表达式&集合

一.正则表达式 正则表达式常用的语法: A:字符 x 字符 x :任意的字符 \\ 反斜线字符 在代码中书写正则表达式:\------&gt;用两个\\代表一个反斜线 \t 制表符 ('\u0009') \n 新行(换行)符 ('\u000A') IO流中要写入换行符号:windows "\r\n" \r 回车符 ('\u000D') B:字...

dreamer_96的博客 2396

【嵌入式硬件】LAN9253说明书(中文版)

LAN9253是一款2/3端口EtherCAT从站控制器,具有双集成以太网PHY,每个PHY包含一个全双工100 BASE-TX收发器,支持100 Mbps(100 BASE-TX)操作。 LAN 9253支持HP Auto-MDIX,允许使用直接连接或交叉LAN电缆。支持EtherCAT P和信号质量指数PHY诊断。 LAN9253包括一个EtherCAT从站控制器,带有8K字节的双端口存储器(DPRAM)和8个现场总线存储器管理单元(FMMU)。每个FMMU将逻辑地址映射到物

qq_39200110的博客 2529

大模型之Spring AI实战系列(二十六):Spring Boot + DeepSeek 实战指南:构建AI聊天应用

在人工智能技术飞速发展的今天,大型语言模型已经成为了推动技术创新的重要力量。DeepSeek作为国内领先的大型语言模型提供商,其推出的DeepSeek系列模型在多个领域都展现出了卓越的性能。本文将详细介绍如何使用Spring Boot框架集成DeepSeek API,构建一个简单的AI聊天应用。我们将实现两个核心功能:普通文本生成和流式文本生成。

寻道AI,探索AI无限可能! 2262

正则表达式/集合

一 正则表达式概念:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。 A:字符 x 字符x(举例:a,1) \

qq_40383589的博客 606

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

正则表达式Collection集合

正则表达式: A:字符 X  字符x:任意的字符 \\反斜线字符                  在代码中书写正则表达式:\------&gt;用两个\\ 表示一个反斜线 \n  换行符 \r    回车符 B:字符类 [abc]    a或者b或者c  简单类 [^abc]     除了a.b.c的任意字符   ^表示否定 [a-zA-Z]  a到z或者A到Z  包括两头的字...

weixin_38816786的博客 366

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

正则表达式与集合

正则表达式:[]:匹配[]中的任意字符{3,10}:前一个规则可以重复的次数,最少三次最多十次{3,}:前一个规则最少出现三次,没有上限限制{3}:前一个规则只能出现三次,不能多也不能少|:或者 (abc|123):abc、123; abc|123 :abc23、ab123.匹配汉字:\u4e00-\u9fa5+:等价于{1,} 最少出现一次,没有上限*:等价于{0,} 可...

weixin_30567471的博客 143

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

正则表达式和list set集合

正则表达式,  list集合  set集合 \d:0,9之间的任意字符  8 \D:非0,9之间的任意其他字符 \s:空白字符,如空格、制表符、回车符、换行符等不可见字符 \S:非空白字符,可见字符 \w:所有的单词字符(不包括$)a-zA-Z_0-9 \W:所有的非单词字符  .所有字符 元字符的个数限制  元字符m:表示m个元字符,如\d5    元字符m,:至少m个元字符

wang289529801的博客 1715

自定义集合正则表达式

自定义集合正则表达式有一次遇到要把list集合做成一个正则表达式作为拦截器的验证器弄了半天才搞定,在此做一个备忘。//定义一个自定义正则表达式集合 private List<Pattern> listUrl = new ArrayList<Pattern>(); //在init方法里面初始化集合,当然也可在其他方法里面使用之前初始化。 String exclusionStr = filterConf

小卓鸟的专栏 1329

正则表达式,Collection集合,迭代器

正则表达式是一种由特定字符组成的字符串校验规则,主要用于对用户输入的字符串数据进行格式验证(如手机号、QQ号等)。它通过字符类(如[abc]、[0-9])、预定义字符(如\d、\w)和量词(如?、+、{n,m})等语法实现强大的匹配功能。在Java中,String类的split()和replaceAll()等方法支持正则表达式操作,可进行字符串切割和替换。Collection集合是存储数据的容器,具有大小可变、支持多种数据类型的特点,常用子接口包括List和Set。Collection提供add()、rem

ws262的博客 982

python怎样使用正则表达式_python中如何使用正则表达式的集合字符示例

前言本文主要给大家介绍了关于python使用正则表达式的集合字符的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。在正则表达式里,想匹配一些字符中的一个,也就是说给出一个字符的集合,只要出现这个集合里任意的字符,都是成立的。比如[ab],就是将匹配任意出现a或b的字符。比如a[ab]+,它是贪婪模式,将会匹配所有是a后面的a或b的字符串,如abbaabbba。如果要改为非...

weixin_39841572的博客 73

[2017.11.05]正则表达式&集合&list

正则表达式1.演示:import java.util.Scanner;/** * 需求:校验一个QQ号码 * 定义一个规则:1)由5到10为组成的数字 * 2)不能以0开头 * 分析: * 1)键盘录入一个QQ号码,使用字符串接收 * 2)定义一个校验QQ的功能 * 3)在main()中调用返回boolean类

Lily_Evans的博客 3522

python正则表达式匹配aabb_python中如何使用正则表达式的集合字符示例

前言本文主要给大家介绍了关于python使用正则表达式的集合字符的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。在正则表达式里,想匹配一些字符中的一个,也就是说给出一个字符的集合,只要出现这个集合里任意的字符,都是成立的。比如[ab],就是将匹配任意出现a或b的字符。比如a[ab]+,它是贪婪模式,将会匹配所有是a后面的a或b的字符串,如abbaabbba。如果要改为非...

weixin_39545895的博客 935
上一篇: 快速排序
下一篇: 最大公约数和最小公倍数
StevenLoveMaggie
博客等级 码龄16年 10粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值