Java中正则表达式的使用

2023-10-29

Java中正则表达式的使用

 在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串、或者对字符串进行分割、或者对字符串一些字符进行替换/删除,一般会通过if-else、for 的配合使用来实现这些功能 。如下所示:

 

Java代码   收藏代码
  1. public class Test{  
  2.   public static void main(String args[]) {  
  3.          String str="@Shang Hai Hong Qiao Fei Ji Chang";  
  4.          boolean rs = false;  
  5.          for(int i=0;i<str.length();i++){  
  6.                 char z=str.charAt(i);    
  7.                 if('a' == z || 'F' == z) {  
  8.                        rs  = true;  
  9.                        break;  
  10.                 }else{  
  11.                        rs= false;  
  12.                 }  
  13.          }     
  14.          System.out.println(rs);  
  15.        }  
  16. }  

      这种方法使用简单直观,但是 难以解决复杂的工作,而且代码量也会增加很多,不利于维护。

 

      这时,我们可以使用正则表达式来实现这些功能,而且代码简单易维护。下面就来介绍了Java中对字符串的正则表达式的几个常用的功能,具体情况如下所示(其中用到了java.util.regex包):

 

1.Java中在某个字符串中查询某个字符或者某个子字串

Java代码   收藏代码
  1. String s = "@Shang Hai Hong Qiao Fei Ji Chang";     
  2. String regEx = "a|F"//表示a或F  
  3. Pattern pat = Pattern.compile(regEx);  
  4. Matcher mat = pat.matcher(s);  
  5. boolean rs = mat.find();   

    如果s中有regEx,那么rs为true,否则为flase。

    如果想在查找时忽略大小写,则可以写成Pattern pat=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);

 

2.在某个文件中获取一段字符串

Java代码   收藏代码
  1. String regEx = ".+\(.+)$";  
  2. String s = "c:\test.txt";  
  3. Pattern pat = Pattern.compile(regEx);  
  4. Matcher mat = pat.matcher(s);  
  5. boolean rs = mat.find();  
  6. for(int i=1;i<=mat.groupCount();i++){  
  7.   System.out.println(mat.group(i));  
  8. }   

  以上的执行结果为test.txt,提取的字符串储存在mat.group(i)中,其中i最大值为mat.groupCount();

 

3.对字符串的分割

Java代码   收藏代码
  1. String regEx=":";  
  2. Pattern pat = Pattern.compile(regEx);  
  3. String[] rs = pat.split("aa:bb:cc");   

  执行后,r就是{"aa","bb","cc"}

    如果用正则表达式分割就如上所示,一般我们都会使用下面更简单的方法:

Java代码   收藏代码
  1. String s = "aa:bb:cc";  
  2. String[] rs=s.split(":");   

 

4.字符串的替换/删除

Java代码   收藏代码
  1. String regEx="@+"//表示一个或多个@  
  2. Pattern pat=Pattern.compile(regEx);  
  3. Matcher mat=pat.matcher("@@aa@b cc@@");  
  4. String s=mat.replaceAll("#");   

 结果为"##aa#b cc##"
  
 如果要把字符串中的@都给删除,只用要空字符串替换就可以了:

Java代码   收藏代码
  1. String s=mat.replaceAll("");  

  结果为"aab cc"

 

 

注:对Pattern类的说明: 
      1.public final class java.util.regex.Pattern是正则表达式编译后的表达法。

      下面的语句将创建一个Pattern对象并赋值给句柄pat:Pattern pat = Pattern.compile(regEx);
      有趣的是,Pattern类是final类,而且它的构造器是private。也许有人告诉你一些设计模式的东西,或者你自己查有关资料。这里的结论是:Pattern类不能被继承,我们不能通过new创建Pattern类的对象。
       因此在Pattern类中,提供了2个重载的静态方法,其返回值是Pattern对象(的引用)。如:

Java代码   收藏代码
  1. public static Pattern compile(String regex) {  
  2.         return new Pattern(regex, 0);  
  3. }  

       当然,我们可以声明Pattern类的句柄,如Pattern pat = null;

 

    2.pat.matcher(str)表示以用Pattern去生成一个字符串str的匹配器,它的返回值是一个Matcher类的引用。
       我们可以简单的使用如下方法:boolean rs = Pattern.compile(regEx).matcher(str).find();

 

 正则表达式以过滤特殊字符:

Java代码   收藏代码
  1. // 过滤特殊字符  
  2.     public   static   String StringFilter(String   str)   throws   PatternSyntaxException   {     
  3.                 // 只允许字母和数字       
  4.                 // String   regEx  =  "[^a-zA-Z0-9]";                     
  5.                    // 清除掉所有特殊字符  
  6.           String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";  
  7.           Pattern   p   =   Pattern.compile(regEx);     
  8.           Matcher   m   =   p.matcher(str);     
  9.           return   m.replaceAll("").trim();     
  10.           }     
  11.     @Test         
  12.     public    void   testStringFilter()   throws   PatternSyntaxException   {     
  13.           String   str   =   "*adCVs*34_a _09_b5*[/435^*&城池()^$$&*).{}+.|.)%%*(*.中国}34{45[]12.fd'*&999下面是中文的字符¥……{}【】。,;’“‘”?";     
  14.           System.out.println(str);     
  15.           System.out.println(StringFilter(str));     
  16.           }    
抛开空泛的概念,下面写出几个简单的Java正则用例: 

◆比如,在字符串包含验证时 

//查找以Java开头,任意结尾的字符串 
Pattern pattern = Pattern.compile("^Java.*"); 
Matcher matcher = pattern.matcher("Java不是人"); 
boolean b= matcher.matches(); 
//当条件满足时,将返回true,否则返回false 
System.out.println(b); 


◆以多条件分割字符串时 
Pattern pattern = Pattern.compile("[, |]+"); 
String[] strs = pattern.split("Java Hello World Java,Hello,,World|Sun"); 
for (int i=0;i<strs.length;i++) { 
    System.out.println(strs[i]); 


◆文字替换(首次出现字符) 
Pattern pattern = Pattern.compile("正则表达式"); 
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World"); 
//替换第一个符合正则的数据 
System.out.println(matcher.replaceFirst("Java")); 

◆文字替换(全部) 
Pattern pattern = Pattern.compile("正则表达式"); 
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World"); 
//替换第一个符合正则的数据 
System.out.println(matcher.replaceAll("Java")); 


◆文字替换(置换字符) 
Pattern pattern = Pattern.compile("正则表达式"); 
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World "); 
StringBuffer sbr = new StringBuffer(); 
while (matcher.find()) { 
    matcher.appendReplacement(sbr, "Java"); 

matcher.appendTail(sbr); 
System.out.println(sbr.toString()); 

◆验证是否为邮箱地址 

String str="ceponline@yahoo.com.cn"; 
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE); 
Matcher matcher = pattern.matcher(str); 
System.out.println(matcher.matches()); 

◆去除html标记 
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL); 
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>"); 
String string = matcher.replaceAll(""); 
System.out.println(string); 

◆查找html中对应条件字符串 
Pattern pattern = Pattern.compile("href=\"(.+?)\""); 
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>"); 
if(matcher.find()) 
System.out.println(matcher.group(1)); 


◆截取http://地址 
//截取url 
Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+"); 
Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf"); 
StringBuffer buffer = new StringBuffer(); 
while(matcher.find()){              
    buffer.append(matcher.group());        
    buffer.append("\r\n");              
System.out.println(buffer.toString()); 

        
◆替换指定{}中文字 

String str = "Java目前的发展史是由{0}年-{1}年"; 
String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}}; 
System.out.println(replace(str,object)); 

public static String replace(final String sourceString,Object[] object) { 
            String temp=sourceString;    
            for(int i=0;i<object.length;i++){ 
                      String[] result=(String[])object[i]; 
               Pattern    pattern = Pattern.compile(result[0]); 
               Matcher matcher = pattern.matcher(temp); 
               temp=matcher.replaceAll(result[1]); 
            } 
            return temp; 



◆以正则条件查询指定目录下文件 

//用于缓存文件列表 
        private ArrayList files = new ArrayList(); 
        //用于承载文件路径 
        private String _path; 
        //用于承载未合并的正则公式 
        private String _regexp; 
        
        class MyFileFilter implements FileFilter { 

            /** 
               * 匹配文件名称 
               */ 
            public boolean accept(File file) { 
                try { 
                  Pattern pattern = Pattern.compile(_regexp); 
                  Matcher match = pattern.matcher(file.getName());                
                  return match.matches(); 
                } catch (Exception e) { 
                  return true; 
                } 
            } 
            } 
        
        /** 
        * 解析输入流 
        * @param inputs 
        */ 
        FilesAnalyze (String path,String regexp){ 
            getFileName(path,regexp); 
        } 
        
        /** 
        * 分析文件名并加入files 
        * @param input 
        */ 
        private void getFileName(String path,String regexp) { 
            //目录 
              _path=path; 
              _regexp=regexp; 
            File directory = new File(_path); 
            File[] filesFile = directory.listFiles(new MyFileFilter()); 
            if (filesFile == null) return; 
            for (int j = 0; j < filesFile.length; j++) { 
                files.add(filesFile[j]); 
            } 
            return; 
            } 
    
        /** 
         * 显示输出信息 
         * @param out 
         */ 
        public void print (PrintStream out) { 
            Iterator elements = files.iterator(); 
            while (elements.hasNext()) { 
                File file=(File) elements.next(); 
                    out.println(file.getPath());    
            } 
        } 

        public static void output(String path,String regexp) { 

            FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp); 
            fileGroup1.print(System.out); 
        } 
    
        public static void main (String[] args) { 
            output("C:\\","[A-z|.]*"); 
        } 

  常用的正则表达式:

匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,

只能包含字符、数字和下划线。
验证是否含有^%&’,;=?$”等字符:“[^%&’,;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”

正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,

“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正确格式为:“01”“09”和“1”“31”。

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中正则表达式的使用 的相关文章

  • 如何使用postman调用REST API进行azure文件存储?

    我想通过postman调用azure的文件存储相关的REST API 以下是我提出请求的方式 我正在请求列出文件存储帐户中的所有共享 如下所述 https learn microsoft com en us rest api storage
  • 春天。使用java配置解决循环依赖而不使用@Autowired

    我有循环依赖和java配置 虽然使用 xml 配置解决它非常简单 但如果没有 Autowired 我无法使用 java 配置解决它 豆子 public class A private B b public B getB return b p
  • 在 Windows 7 中,不从命令行强制终止 JVM

    我在 JVM 中运行了 Cobertura 仪器化 jar 当我在运行应用程序的 Windows 控制台中按 Ctrl C 时 JVM 结束并Cobertura 结果已成功刷新到 cobertura ser 文件 但我需要使用命令 工具 不
  • 在 Java 中将系统属性设置为 Null

    在我的单元测试中 我需要将 workingDir 系统属性设置为 Null 但我不能这样做 因为它给了我 NullPointerException System setProperty workingDir null 我该怎么做 您不能将属
  • Eclipse 说“更新 Android Developer Toolkit”

    我不知何故弄乱了我的 Eclipse 和 Android 设置 我不知道如何修复它 问题症状如下 在 首选项 gt Android 中 我尝试选择 android sdk linux 的位置 选择时出现错误 此 Android SDK 需要
  • Spring 可以理解 @Inject 替换 Weld 作为 JSR-299 实现吗?

    我从几个网页中注意到 Spring 3 0 显然支持来自 JSR 330 的 Inject 由于我们确实希望在 Web 应用程序和独立应用程序的库中使用 JSR 299 语法进行依赖项注入 并且有 Weld 的替代方案 因此如果 Sprin
  • 全屏独占模式下的 AWT 框架在窗口弹出对话框中最小化

    我正在开发一个在全屏独占模式下使用 awt 框架的应用程序 一切正常 直到弹出窗口可见 这会抢走焦点 我的应用程序将被最小化 这是我的框架的初始化代码 if ApplicationConfig getInstance useFullscre
  • Apache POI 的 ProGuard 设置

    我正在构建一个使用 Apache POI 库的应用程序 当我调试应用程序 在不运行 Proguard 的情况下编译它 时 一切都运行良好 但是在导出 APK 后 当我运行应用程序并打开 Excel 文件时 出现以下异常 RuntimeExc
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • 如何更改tomcat jmx密码的文件权限

    我正在尝试保护 Windows 平台上托管的本地 tomcat 实例上的 JMX 访问 我已经创建了访问权限和密码文件 并使用以下 VM 参数插入这些文件 Dcom sun management jmxremote password fil
  • 为什么 Libgdx 的 Table 不接受缩放操作?

    我在 libgdx 库中使用 scene2d 在游戏中创建一些 UI 我使用了一个表格 我想在用户触摸时采取一些缩放操作以使按钮触摸有意义 当我使用任何其他 Actor 类型 例如 Group 并为其提供缩放操作时 它可以工作 但不能工作表
  • 将 Class 对象转换为字节

    如果我有一个Class http java sun com j2se 1 5 0 docs api java lang Class html在运行时实例 我可以获得它的 byte 表示形式吗 我感兴趣的字节将在类文件格式 http java
  • 使用JPanel绘制直线并获取点坐标

    我现在完全不知所措 我没有太多用 Java 构建 GUI 我一直在阅读有关 swing 和 JPanel 的所有内容 我认为我想做的事情是可能的 我只是还没有弄清楚how 我正在尝试构建一个 GUI 您可以在其中在某个绘图区域内绘制直线 我
  • Java字符串中的字符数[重复]

    这个问题在这里已经有答案了 可能的重复 Java 使用unicode上划线显示平方根时字符串的长度 https stackoverflow com questions 7704426 java length of string when u
  • 如何在其他窗口之上生成独立的 JFileChooser 对话框?

    Like 其他一些人 https stackoverflow com questions 4161207 javavm windows 7 64bit jfilechooser not showing dialog box谁问过类似的问题
  • 如何避免连续“重置偏移量”和“寻找最新偏移量”?

    我正在尝试遵循本指南 https spark apache org docs latest structed streaming kafka integration html https spark apache org docs late
  • Jersey bean 验证 ParameterNameProvider

    我正在阅读关于泽西岛的文档Bean验证 https jersey java net documentation latest bean validation html The ParameterNameProvider示例显示如何定义方法的
  • bean 中的 Spring JavaConfig 属性未设置?

    我正在考虑将 Spring JavaConfig 与一些属性文件一起使用 但 bean 中的属性未设置 bean 中的属性未设置 这是我的网络配置 Configuration EnableWebMvc PropertySource valu
  • 使用 JPA 和 Hibernate 时 DISTINCT 如何工作

    DISTINCT 在 JPA 中使用什么列 是否可以更改它 以下是使用 DISTINCT 的 JPA 查询示例 select DISTINCT c from Customer c 这没有多大意义 不同的列是基于哪一列 它是否在实体上指定为注
  • 如何使用 JRE 部署 JavaFX 11 桌面应用程序

    我有一个 JavaFX JDK 8 桌面业务应用程序 它使用 Java Web Start 进行部署 用户安装了 Java 8 只需访问 URL 我的 AWS Linux 服务器上的公共 URL 即可下载 启动应用程序 使用 Web Sta

随机推荐

  • python 的logging日志模块配合配置文件使用

    selenium python python 的logging日志模块配合配置文件使用 python 的logging日志模块配合配置文件使用 通过selenium python过程中经常需要记录程序运行过程中的异常和操作记录 程序问题 定
  • C++代码复习(三+)——SeqList顺序表内数据的数组方式实现

    include
  • 排序二叉树转变为有序双向链表

    要点 1 直接改变树的结构 2 排序二叉树在中序遍历的时候是有序的 3 双向链表 需要前后两个指针 可以将Tree的节点作为链表节点 代码实现 中序的递归实现 void ToList Tree pTree Tree pHead Tree p
  • 图形识别工具-百度AI接口实现

    简介 借出百度AI平台后看到有一个图像识别工具 就简单实现了下 效果挺好的 使用也简单 百度提供了两种实现方式 1 api方式调用 2 sdk方式调用 此方式简单 本文就以此为主讲一下 a 先下载图像识别sdk 地址 https cloud
  • 【毕业设计】 微信小程序购物商城系统 【含代码】

    文章目录 0 前言 1 开发工具 2 总体架构 3 项目规划 4 云数据库 5 项目解构 5 1 购买首页 5 2 商品详情页 5 3 搜索页 5 4 品牌分类页 5 5 筛选排序页 6 最后 0 前言 Hi 同学们好呀 学长今天带大家做一
  • 06-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景?【Java面试题总结】

    限流策略有哪些 滑动窗口算法和令牌桶区别 使用场景 常见的限流算法有固定窗口 滑动窗口 漏桶 令牌桶等 6 1 固定窗口 概念 固定窗口 又称计算器限流 对一段固定时间窗口内的请求进行一个计数 如果请求数量超过阈值 就会舍弃这个请求 如果没
  • 【EI会议】2022年第三届纳米材料与纳米技术国际会议(NanoMT 2022)

    2022年第三届纳米材料与纳米技术国际会议 NanoMT 2022 重要信息 会议网址 www nanomt org 会议时间 2022年9月23 25日 召开地点 中国南京 截稿时间 2022年8月21日 录用通知 投稿后2周内 收录检索
  • QT鼠标控制

    文章目录 鼠标状态改变 限制鼠标活动区域 鼠标状态改变 void QApplication setOverrideCursor const QCursor cursor bool replace FALSE 设置应用程序强制光标为 curs
  • 晨读-为什么有时控制不了我的情绪?

    情绪是天生的 而且每一种情绪都有它的功能 例如恐惧让我们远离危险 焦虑让我们提升行动力 等等 但是我们还是会出现的情况是 明明我都理解 那些道理我都懂 为什么我还是忍不住难受 这些冒出来的情绪还是不受控制 在控制情绪之前 我们先要了解 我们
  • [避坑指南]GD32F130系列TIMER14

    前言 本人在使用GD32F130F8P6时 使能PA3引脚输出PWM波 但是检查代码没有问题 就是不出PWM波 折磨了3天 最后发现是该款单片机没有TIMER14定时器 手册误导用户啊 代码部分 此代码驱动TIMER14是没有问题的 voi
  • 9道常见的java笔试选择题

    1 关于Java编译 下面哪一个正确 选择一项 A Java程序经编译后产生machine code B Java程序经编译后会生产byte code C Java程序经编译后会产生DLL D 以上都不正确 答案 B 分析 Java是解释型
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记15——ETH概述篇

    北京大学肖臻老师 区块链技术与应用 公开课笔记 以太坊概述篇 对应肖老师视频 click here 全系列笔记请见 click here About Me 点击进入我的Personal Page BTC和ETH为最主要的两种加密货币 BTC
  • 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(16)

    今天我们解决了一个困扰了我们很久的问题 isqr值的获取与使用 功能的设想 通过isqr这个值来确定该耗材是否使用二维码管理 在新增耗材种类的时候加入该属性 选择是或否 并写入数据库 在显示库存数据的时候通过耗材的id查找该值 以此决定是否
  • 解决:Cannot deserialize value of type `java.util.Date` from String “xxx“: not a valid representation..

    一 问题 在做数据更新操作的时候 后台数据为Date时 前端把String类型数据传到后台时 Date类型无法识别这个String数据 所以会报错 二 错误描述 主要问题 Caused by com fasterxml jackson da
  • linux重启命令

    shutdown重启系统 usr sbin shutdown r now usr sbin 指定了命令的位置 路径 shutdown 是命令本身 r 是指示重新启动系统的选项 now 表示立即执行命令 不进行倒计时 也可以指定一个时间延迟
  • el-input校验,只能输入正整数

    一 表单校验方式 fileSort required true message 请输入排序 trigger blur pattern 1 9 d message 请输入正整数 trigger blur 二 el input的type设置为n
  • mybatis笔记(老杜版本)

    一 MyBatis概述 1 1框架 Java常 框架 SSM三 框架 Spring SpringMVC MyBatis SpringBoot SpringCloud 等 SSM三 框架的学习顺序 MyBatis Spring SpringM
  • mysql jdbc url utf8_Mysql JDBC Url参数与异常问题

    今天在写Java项目使用了 SELECT FROM plan WHERE isDelete isDelete AND nestId in open close separator gt nestId 但是很不幸 后台报异常 java sql
  • springboot整合七牛云对象存储

    目录 一 测试 二 整合 一 测试 注册七牛云账号 并进行邮箱绑定和实名认证 七牛云每个月送10G完全够我们开发 创建一个空间 存储区域哪里离你近选哪里 访问控制一定要公开 创建完成后 后期上传的静态资源 可以根据域名 文件名直接访问 自定
  • Java中正则表达式的使用

    Java中正则表达式的使用 在Java中 我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串 或者对字符串进行分割 或者对字符串一些字符进行替换 删除 一般会通过if else for 的配合使用来实现这些功能 如下所示 Jav