当前位置: 首页 > news >正文

正则表达式及其应用

demo1:

package 正则表达式;public class demo1 {public static void main(String[] args) {//只能是a b cSystem.out.println("a".matches("[abc]"));//true//前后校验字符个数需要一致System.out.println("ab".matches("[abc]"));//falseSystem.out.println("ab".matches("[abc][abc]"));//trueSystem.out.println("--------------------------------------");//不能出现a b cSystem.out.println("a".matches("[^abc]"));//falseSystem.out.println("d".matches("[^abc]"));//trueSystem.out.println("zz".matches("[^abc][^abc]"));//trueSystem.out.println("--------------------------------------");//a-z 或 A-Z()包括头尾范围System.out.println("a".matches("[a-zA-Z]"));//trueSystem.out.println("zz".matches("[^a-z][^a-z]"));//falseSystem.out.println("---------------------------------------");//[a-d[m-p]] a到d或者m到pSystem.out.println("a".matches("[a-z[A-Z]]"));//trueSystem.out.println("zz".matches("[a-d[m-z]][a-d[m-z]]"));//trueSystem.out.println("---------------------------------------");//[a-z&&[def]] a-z中同时包含d e fSystem.out.println("a".matches("[a-z&&[def]]"));//falseSystem.out.println("d".matches("[a-z&&[def]]"));//trueSystem.out.println("---------------------------------------");//[a-z&&[^bc]] a-z和非 b c 得交集System.out.println("a".matches("[a-z&&[^bc]]"));//trueSystem.out.println("b".matches("[a-z&&[^bc]]"));//falseSystem.out.println("---------------------------------------");//[a-z&&[^m-p]] a-z和除了m-p的交集 (等同于[a-lq-z])System.out.println("a".matches("[a-z&&[^m-p]]"));//trueSystem.out.println("m".matches("[a-z&&[^m-p]]"));//falseSystem.out.println("---------------------------------------");//[a-z&&[def]]//细节:如果要求两个范围的交集,那么需要写符号&&//如果写成了一个&,那么此时&表示就不是交集了,而是一个简简单单的&符号System.out.println("&".matches("[a-z&[def]]"));//true}
}

demo2:

package 正则表达式;import java.util.StringJoiner;public class demo2 {public static void main(String[] args) {//练习:以字符串的形式打印一个双引号//在Java中表示字符串的开头或者结尾//此时\表示转义字符,改变了后面那个双引号原本的含义//把他变成了一个普普通通的双引号而已。System.out.println("\"");// \表示转义字符//前面的\是一个转义字符,改变了后面\原本的含义,把他变成一个普普通通的\而己。System.out.println("F:\\Java学习\\代码\\myapi\\src\\正则表达式");// .表示任意一个字符System.out.println("你".matches("."));//trueSystem.out.println("你好呀".matches(".."));//falseSystem.out.println("----------------------------");//  \\d只能是任意的一位数字//  简单来记:两个\\表示一个\,一个\表示一个转义字符,一个d表示一个数字。System.out.println("123".matches("\\d"));//falseSystem.out.println("123".matches("\\d\\d\\d"));//trueSystem.out.println("----------------------------");// \\w只能是一位单词字符[a-zA-Z_0-9]System.out.println("a".matches("\\w"));//trueSystem.out.println("A".matches("\\w"));//trueSystem.out.println("_".matches("\\w"));//trueSystem.out.println("0".matches("\\w"));//trueSystem.out.println("----------------------------");// \\W(大写的)非单词字符System.out.println("a".matches("\\W"));//falseSystem.out.println("你".matches("\\W"));//trueSystem.out.println("----------------------------");//以上正则匹配只能校验单个字符//必须是 数字 字母 下划线,至少6位System.out.println("sunshine1990212".matches("\\w{6,}"));//trueSystem.out.println("sun".matches("\\w{6,}"));//falseSystem.out.println("----------------------------");//必须是数字和字符 必须是4位System.out.println("23df".matches("[a-zA-Z0-9]{4}"));//trueSystem.out.println("23_f".matches("[a-zA-Z0-9]{4}"));//falseSystem.out.println("23df".matches("[\\w&&[^_]]{4}"));//trueSystem.out.println("23_f".matches("[\\w&&[^_]]{4}"));//false}
}

demo3:

package 正则表达式;public class demo3 {public static void main(String[] args) {
//        请编写正则表达式验证用户输入的手机号码是否满足要求。
//        请编写正则表达式验证用户输入的邮箱号是否满足要求。
//        请编写正则表达式验证用户输入的电话号码是否满足要求。
//        验证手机号码 13112345678 1371234566713945679027139456790271
//        验证座机电话号码 020-2324242 02122442027-42424 0712-3242434
//        验证邮箱号码 3232323@q9.com zhangsan@itcast.cnn dlei0009@163.com dlei0009@pci.com.cn//心得://拿着一个正确的数据,从左到右依次去写。//13112345678//分成三部分://第一部分:1表示手机号码只能以1开头//第二部分:[3-9]表示手机号码第二位只能是3-9之间的//第三部分:\\d{9}表示任意数字可以出现9次,也只能出现9次String regex1 = "1[3-9]\\d{9}";boolean matches = "13112345678".matches(regex1);System.out.println(matches);System.out.println("-------------------------------------------------");//座机电话号码//020-2324242 02122442 027-42424//思路://在书写座机号正则的时候需要把正确的数据分为三部分//一:区号 @\\d{2,3}s 0:表示区号一定是以0开头的// \\d{2,3}:表示区号从第二位开始可以是任意的数字,可以出现2到3次。//二:-?表示次数,@次或一次//三:号码:号码的第一位也不能以8开头,从第二位开始可以是任意的数字,号码的总长度:5-10位String regex2 = "0\\d{2,3}-?[1-9]\\d{4,9}";boolean matches1 = "02112442".matches(regex2);System.out.println(matches1);System.out.println("-------------------------------------------------");//邮箱号码//3232323@qq.com    zhangsan@itcast.cnn     dlei0009@163.com    dleie0e9@pci.com.cn//思路://在书写邮箱号码正则的时候需要把正确的数据分为三部分//第一部分:@的左边\\w+//任意的字母数字下划线,至少出现一次就可以了//第二部分:@ 只能出现一次//第三部分://          3.1  .的左边[\\w&&[^_]]{2,6}//          任意的字母加数字,总共出现2-6次(此时不能出现下划线)//          3.2  . \\.(单个的.代表任意字符,需转义)//大写字母,小写字母都可以,只能出现2-3次[a-zA-z]{2,3}//我们可以把3.2和3.3看成一组,这一组可以出现1次或者两次String regex3 = "\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";System.out.println("3232323@qq.com".matches(regex3));System.out.println("zhangsan@itcast.cnn".matches(regex3));System.out.println("dlei0009@163.com".matches(regex3));System.out.println("dleie0e9@pci.com.cn".matches(regex3));System.out.println("-------------------------------------------------");//忽略大小写的书写方式//在匹配的时候忽略abc的大小写//(?i)abc :代表abc忽略大小写String regex4 = "a((?i)b)c";//只忽略b的大小写System.out.println("abc".matches(regex4));System.out.println("ABC".matches(regex4));System.out.println("aBc".matches(regex4));System.out.println("-------------------------------------------------");//身份证号码的严格校验//编写正则的小心得://第一步:按照正确的数据进行拆分//第二步:找每一部分的规律,并编写正则表达式//第三步:把每一部分的正则拼接在一起,就是最终的结果//书写的时候:从左到右去书写。//410801   1993 02 28 457x//前面6位:省份,市区,派出所等信息第一位不能是0,后面5位是任意数字        [1-9]\\d{5}//年的前半段:18 19 20                                            (18|19|20)//年的后半段:任意数字出现两次                                       \\d{2}//月份:01 ~09 10 11 12                                          (0[1-9]|1[0-2])//日期:01~09  10~19 20~29 30 31                                 (0[1-9]|[12]\\d|3[01])//后面四位:任意数字出现3次 最后一位可以是数字也可以是大写x或者小写x        \\d{3}[\\dxx]String regex6 ="[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]";System.out.println("41080119930228457x".matches(regex6));}
}

应用–爬虫:

demo1:

package 爬虫;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class demo1 {public static void main(String[] args) {String str = "Java自从95年问世以米,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会遂渐登上历史舞台";//Pattern:表示正则表达式//Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取。//在大串中去找符合匹配规则的子串。//获取正则表达式的对象Pattern p = Pattern.compile("Java\\d{0,2}");//获取文本匹配器的对象//拿着m去读取str,找符合p规则的子串Matcher m = p.matcher(str);//拿着文本匹配器从头开始读取,寻找是否有满足规则的子串//如果没有,方法返回false//如果有,返回true。在底层记录子串的起始索引和结束索引+1while (m.find()) {//方法底层会根据find方法记录的索引进行字符串的截取// substring(起始索引,结束索引);包头不包尾// (0,4)但是不包含4索引// 会把截取的小串进行返回。String s = m.group();System.out.println(s);}}
}

demo2:

package 爬虫;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class demo2 {public static void main(String[] args) {//需求:把下面文本中的座机电话,邮箱,手机号,热线都爬取出来。来黑马程序员学习Java,//手机号:18512516758,18512508907//或者联系邮箱:boniu@itcast.cn//座机电话:01036517895,010-98951256//邮箱:bozai@itcast.cn,//热线电话:400-618-9090,400-618-4000,4006184000,4006189090//手机号正则表达式:1[3-9]\\d{9}//邮箱正则表达式:  \w+@[\w&&[^_]]{2,6}(\.[a-zA-Z]{2,3}){1,2}//座机电话   0\d{2,3}-?[1-9]\d{4,9}//热线电话:400-?618-?[1-9]\\d{3}String s="来黑马程序员学习Java,"+"电话:18512516758,18512508907"+"或者联系邮箱:boniu@itcast.cn,"+"座机电话:01036517895,010-98951256"+"邮箱:bozai@itcast.cn,"+"热线电话:400-618-9090,400-618-4000,4006184000,4006189090";String regex = "(1[3-9]\\d{9})|(\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2})|(0\\d{2,3}-?[1-9]\\d{4,9})|(400-?618-?[1-9]\\d{3})";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(s);while (matcher.find()){matcher.group();System.out.println(matcher.group());}}
}

demo3:

package 爬虫;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class demo3 {public static void main(String[] args) {//需求1:爬取版本号为8,11,17的Java文本,但是只要Java,不显示版本号。//需求2:爬取版本号为8,11,17的lava文本。正确爬取结果为:java8java11java17java17//需求3:爬取除了版本号为8,11,17的Java文本String s= "Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";//1.定义正则表达式//?理解为前面的数据Java//=表示在Java后面要随的数据//但是在获取的时候,只获取前半部分//需求1:(获取前面部分)String regex1 = "Java(?=8|11|17)";//需求2:(获取所有)String regex2 = "Java(?:8|11|17)";//需求3:(获取不是指定内容的前面部分)String regex3 = "Java(?!8|11|17)";Pattern p = Pattern.compile(regex3);Matcher m = p.matcher(s);while (m.find()){System.out.println(m.group());}}
}

demo4:

package 爬虫;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class demo4 {public static void main(String[] args) {//有如下文本,请按照要求爬取数据。//Java自从95年问世以来,abbbbbbbbbbbbaaaaaaaaaaaaaaaaaa经历了很多版本,//目前企业中用的最多的是ava8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台//需求1:按照ab+的方式爬取ab,b尽可能多获取//需求2:按照ab+的方式爬取ab,b尽可能少获取//        只写+和*表示贪婪匹配
//        +? 非贪婪匹配
//        *? 非贪婪匹配
//        贪婪爬取:在爬取数据的时候尽可能的多获取数据
//        非贪婪爬取:在爬取数据的时候尽可能的少获取数据
//        ab+:
//        贪婪爬取:abbbbbbbbbbbb
//        非贪婪爬取:abString str = "Java自从95年问世以来,abbbbbbbbbbbbaaaaaaaaaaaaaaaaaa经历了很多版本,目前企业中用的最多的是ava8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台";String reg = "ab+?";Pattern p = Pattern.compile(reg);Matcher m = p.matcher(str);while (m.find()){System.out.println(m.group());}}
}

demo5

package 爬虫;public class demo5 {public static void main(String[] args) {//public string replaceAll(string regex,string newstr)// public string[] split(string regex)://按照正则表达式的规则进行替换按照正则表达式的规则切割字符串//有一段字符串:小诗诗dqwefqwfqwfwg12312小丹丹dqwefqwfqwfwg12312小惠惠// 要求1:把字符串中三个姓名之间的字母替换为vs// 要求2:把字符串中的三个姓名切割出来String str = "小诗诗dqwefqwfqwfwg12312小丹丹dqwefqwfqwfwg12312小惠惠";String s = str.replaceAll("[\\w&&[^_]]{1,}", "vs");System.out.println(s);String[] split = str.split("[\\w&&[^_]]{1,}");for (int i = 0; i < split.length; i++) {System.out.print(split[i]+" ");}}
}

demo6:

package 爬虫;public class demo6 {public static void main(String[] args) {//需求1:判断一个字符串的开始字符和结束字符是否一致?只考虑一个字符//举例:a123a b456b   17891   &abc&//使用正则表达式"(.).+.\\1",其中(.)匹配首字符并将其作为一个分组,.+匹配中间任意字符,\\1表示匹配与首字符相同的字符。String regex1 = "(.).+\\1";System.out.println("a123a".matches(regex1));System.out.println("b456b".matches(regex1));System.out.println("17891".matches(regex1));System.out.println("&abc&".matches(regex1));System.out.println("a123b".matches(regex1));System.out.println("--------------------------------------");//需求2:判断一个字符串的开始部分和结束部分是否一致?可以有多个字符// 举例:abc123abc b456b   123789123   &!@abc&!@//使用正则表达式"(.+).+\\1",其中(.+)匹配开始部分并作为一个分组,.+匹配中间任意字符,\\1表示匹配与开始部分相同的字符。String regex2 = "(.+).+\\1";System.out.println("abc123abc".matches(regex2));System.out.println("123789123".matches(regex2));System.out.println("&!@abc&!@".matches(regex2));System.out.println("1&!@abc&!@".matches(regex2));System.out.println("--------------------------------------");//需求3:判断一个字符串的开始部分和结束部分是否一致?开始部分内部每个字符也需要一致// 举例:aaa123aaa bbb456bbb 111789111 &&abc&&//(.):把首字母看做一组//  \\2:把首字母拿出来再次使用// *:作用于\\2,表示后面重复的内容出现0次或多次//使用正则表达式"((.)\\2*).+\\1",其中((.)\\2*)匹配开始部分并作为一个分组,其中(.)匹配首字符并作为一个子分组,\\2*表示匹配与首字符相同的字符0次或多次,.+匹配中间任意字符,\\1表示匹配与开始部分相同的字符。String regex3 = "((.)\\2*).+\\1";System.out.println("aaa123aaa".matches(regex3));System.out.println("bbb456bbb".matches(regex3));System.out.println("111789111".matches(regex3));System.out.println("&&abc&&".matches(regex3));System.out.println("123789123".matches(regex3));}
}

demo7:

package 爬虫;public class demo7 {public static void main(String[] args) {/*需求:将字符串:我要学学编编编编程程程程程程替换为:我要学编程*/String str = "我要学学编编编编程程程程程程";//需求:把重复的内容 替换为单个的//(.)表示把重复内容的第一个字符看做一组//\\1 表示第一字符再次出现//+至少一次//$1表示把正则表达式中第一组的内容,再拿出来用String newStr = str.replaceAll("(.)\\1+","$1");System.out.println(newStr);}
}

相关文章:

正则表达式及其应用

demo1: package 正则表达式;public class demo1 {public static void main(String[] args) {//只能是a b cSystem.out.println("a".matches("[abc]"));//true//前后校验字符个数需要一致System.out.println("ab".matches("[abc]"));/…...

VUE面试题(3)--vue常见面试题

1.vue优点 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。 …...

2024.05.24|生信早报【AI测试版】

植物再生领域重大突破 山农大团队发现植物“再生指挥官”REF1&#xff1a;中国科学院院士种康高度评价&#xff0c;认为这一发现对细胞分化与再生领域的基础科学研究和生物技术应用具有重大意义。 生物医药专业园区建设\n- 卫光生命科学园聚焦合成生物学、脑科学&#xff1a…...

计算机毕业设计 | springboot药品库存追踪与管理系统 药店管理(附源码)

1&#xff0c;绪论 1.1 背景调研 如今药品调价频繁&#xff0c;且品种繁多&#xff0c;增加了药品销售定价的难度。药品来货验收登记中的审查有效期环节容易出错&#xff0c;错收过期或有效期不足的药品。 手工模式下的药品库存难以及时掌握&#xff0c;虽然采取了每日进行缺…...

Flink 对接 Hudi 查询数据,java代码编写

1.pom.xml文件需要引入下面包 <properties><flink.version>1.15.4</flink.version><hudi.version>0.13.1</hudi.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><artifa…...

计算机操作系统总结(1)

1操作系统的概念&#xff08;定义&#xff09;功能和目标 (1)什么是操作系统&#xff1f; &#xff08;2&#xff09;操作系统的功能和目标—作为系统资源的管理者 &#xff08;3&#xff09;操作系统的功能和目标—向上层提供方便易用的服务 &#xff08;4&#xff09;操作系…...

HTML5好看的通用网站模板源码

文章目录 1.设计来源1.1 主界面1.2 模板菜单1 界面1.3 模板菜单2 界面1.4 模板菜单3 界面1.5 下拉菜单1 界面1.6 下拉菜单2 界面1.7 模板菜单4 界面1.8 模板菜单5 界面1.9 界面底部 2.效果和源码2.1 动态效果2.2 源码目录2.3 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址…...

AWS安全性身份和合规性之Inspector

Amazon Inspector 是一项漏洞管理服务&#xff0c;可持续扫描您的 AWS 工作负载&#xff0c;以查找软件漏洞和意外网络泄露。Amazon Inspector 会自动发现和扫描正在运行的亚马逊 EC2 实例、亚马逊弹性容器注册表 (Amazon ECR) Container Registry 中的容器映像&#xff0c;以及…...

mybatis plus 配置多数据源(数据源进行切换)

多数据源(数据源进行切换) AbstractRoutingDataSource 根据用户定义的规则选择当前的数据源&#xff0c;这样我们可以在执行查询之前&#xff0c;设置使用的数据源。实现可动态路由的数据源&#xff0c;在每次数据库查询操作前执行。它的抽象方法 determineCurrentLookupKey()…...

Docker-Android安卓模拟器本地部署并实现远程开发测试

文章目录 1. 虚拟化环境检查2. Android 模拟器部署3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问小结 6. 固定Cpolar公网地址7. 固定地址访问 本文主要介绍如何在Ubuntu系统使用Docker部署docker-android安卓模拟器&#xff0c;并结合cpolar内网穿透工具实现公网远程访问本地…...

vue-封装上下(垂直方向)轮播

需求&#xff1a;没有找到特别好的上下轮播插件-所以自己写了一个简单的demo 一.上下平滑轮播-移入停止-移出继续轮播 <!--* 消息滚动 --> <template><div class"news"><div id"roll" class"InfoBox" mouseover"thi…...

海外私人IP和原生IP有什么区别,谁更有优势?

一、什么是海外私人IP&#xff1f;什么是原生IP&#xff1f; 1、海外私人IP&#xff1a; 海外私人IP是由专门的服务提供商提供的IP地址&#xff0c;这些IP地址通常与特定地理位置或国家相关联。这些IP地址独享私人而不用与其他用户共享。海外私人IP广泛应用与跨境电商中&#x…...

主流容器工具对比以及重点推荐学习的企业级工具

常见的主流容器工具包括但不限于以下几种&#xff1a; 1. Docker&#xff1a; Docker 是最流行的容器平台之一&#xff0c;它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中&#xff0c;然后可以在任何支持Docker的系统上运行。 2. Kubernetes&#xff1a;Kubern…...

国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线编辑word文件,同时保存数据和文件

PageOffice 国产版 &#xff1a;支持信创系统&#xff0c;支持银河麒麟V10和统信UOS&#xff0c;支持X86&#xff08;intel、兆芯、海光等&#xff09;、ARM&#xff08;飞腾、鲲鹏、麒麟等&#xff09;芯片架构。 在OA办公、文档流转等各个Web系统中&#xff0c;实现最简单的…...

个人感觉对Material设计有用的几个网址

(一) Modular and customizable Material Design UI components for Android GIthub: material-components-android (二) 学习Material设计 Material Design (三) 用于创建Material主题&#xff0c;支持导出多种格式 material-theme-builder...

ubuntu18 安装sudo

ubuntu18 安装sudo 在Ubuntu 18.04上安装sudo通常是不必要的&#xff0c;因为sudo是Ubuntu及其衍生版本的基本包之一&#xff0c;默认情况下就已经安装。如果出于某种原因&#xff0c;sudo没有预装或者你需要升级到最新版本&#xff0c;你可以通过以下命令安装或更新它&#x…...

【力扣一轮】202.快乐数 1.两数之和

202.快乐数 力扣链接 代码随想录链接 思路 看到这一题没思路&#xff0c;直接看题解。 发现其中一个难点在于“无限循环”&#xff0c;这个字眼可以转换成退出条件。退出条件就有两种&#xff0c;一种是这个数字是快乐数&#xff0c;一种是这个数字不是快乐数。 如果是快…...

Vue小程序项目知识积累(二)

1.wx.reLaunch(Object object) 关闭所有页面&#xff0c;打开到应用内的某个页面。 wx.reLaunch({url:/pages/positons/index}) 参数说明&#xff1a; 属性类型默认值必填说明urlstring是需要跳转的应用内页面路径 (代码包路径)&#xff0c;路径后可以带参数。参数与路径之…...

RK3588 Android13 预安装自己的apk应用及把这个应用设置为默认桌面

1、cp -rf device/rockchip/rk3588/rk3588m_s/preinstall device/rockchip/rk3588/rk3588_t/ 2、给device/rockchip/rk3588/rk3588_t/preinstall/的存放app的文件夹改名为app-imms2&#xff0c;在app-imms2放入app-imms2.apk,编译安卓源码即可&#xff0c; 3、编译完会在out/…...

NLP(16)--生成式任务

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 输入输出均为不定长序列&#xff08;seq2seq&#xff09;自回归语言模型&#xff1a; x 为 str[start : end ]; y为 [start1 : end 1] 同时训练多个字&#xff0c;逐字计算交叉熵 encode-decode结构&#xff1a; Encoder将输…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...