正则表达式集合

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

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

相关推荐

掌握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的博客 7875

【计算机组成原理实验】状态机实验

理解“状态机”概念,掌握“状态机”思想描述时序系统。通过下列三种基于D触发器的计数器结构,构建状态机的状态转移电路:环形计数器、扭环计数器和条件判断的扭环计数器。基于“状态机”原理,设计一个“交通灯”系统:控制红黄绿信号灯按照以下顺序循环点亮:“绿 黄 红 绿 ……”,红灯、绿灯和黄灯的亮灯持续时间可以通过拨码开关独立设置。红灯和绿灯是持续亮灯模式,黄灯则是闪烁亮灯模式。

Rover_jb的博客 1332

保姆级教程:用Simulink从零搭建新能源汽车VCU蠕行控制模型(附模型下载)

本文提供了一份详细的Simulink建模教程,指导读者从零开始搭建新能源汽车VCU蠕行控制模型。内容涵盖环境配置、信号定义、蠕行模式使能条件、扭矩控制算法实现及模型验证等关键步骤,特别适合需要将控制算法转化为可执行模型的初学者。教程还包含实用代码示例和常见问题解决方案,帮助开发者快速掌握VCU蠕行控制的Simulink实现技巧。

547

常用正则表达式-IPv4地址

常用正则表达式-IPv4地址

杨小熊学习笔记 1万+

10-Oracle 23 ai Vector Search 概述和参数

企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation :RAG)功能,RAG能够将LLM的生成能力与知识库的精准资料库进行检索结合,将大模型部署在内部同时将私有的数据进行LLM的检索避免泄露企业专用的数据同时提高的准确性。于是如何将数据存入向量数据库以及向量查询等这些基本功能变得必备和重要。

远方的专栏 1294

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

IPv6正则表达式

m0_48955918的博客 3996

Ubuntu22.04中通过conda快速部署PyTorch开发环境(CPU/GPU双版本实战)

本文详细介绍了在Ubuntu22.04系统中,如何利用Conda高效部署PyTorch开发环境。文章分别提供了CPU与GPU双版本的实战教程,涵盖环境创建、镜像加速、版本匹配及深度验证等关键步骤,旨在帮助开发者快速搭建稳定、兼容的深度学习环境,从而专注于模型开发。

rose2的博客 556

MATLAB - ROS 2 工具箱入门教程

ROS 工具箱提供了一个连接 MATLAB® 和 Simulink® 与机器人操作系统(ROS 和 ROS 2)的接口。利用该工具箱,您可以设计 ROS 节点网络,并将 MATLAB 或 Simulink 生成的 ROS 节点与现有的 ROS 网络相结合。工具箱包括 MATLAB 函数和 Simulink 块,可通过记录、导入和回放 rosbag 文件来可视化和分析 ROS 数据。您还可以连接到实时 ROS 网络,访问 ROS 消息。

机器人控制与仿真应用 3068

干货 | IPv6正则表达式攻略

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

中兴开发者社区 5797

FFDNet-pytorch版本代码训练教程

该文章为FFDNet-pytorch版本代码训练教程,抓紧订阅学习!尽早入门发论文哦!

假技术Po主 1507

Java正则表达式&集合

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

dreamer_96的博客 2396

决策变量乘积项的线性化

介绍了决策变量相乘情况下的线性化,并用案例进行线性化演示,其中针对连续变量相乘的情况介绍了McCormick包络的近似线性化方法

Linshaodan520的博客 1842

5、癌症数据预处理技术与深度学习在癌症预测中的应用

本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。

alice7model的博客 123

正则表达式/集合

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

qq_40383589的博客 606

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

正则表达式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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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...

正则表达式与集合

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

weixin_30567471的博客 143

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

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

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

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

ws262的博客 982

自定义集合正则表达式

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

小卓鸟的专栏 1329

正则表达式和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

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
上一篇: c语言二维数组的定义和初始化
下一篇: c语言字符串
StevenLoveMaggie
博客等级 码龄16年 10粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值