当前位置: 首页 > 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将输…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...