Java matches() 方法

matches() 方法用于检测字符串是否匹配给定的正则表达式。

返回值

在字符串匹配给定的正则表达式时,返回 true。

例子:

public class Test {public static void main(String args[]) {String Str = new String("www.runoob.com");System.out.print("返回值 :" );System.out.println(Str.matches("(.*)runoob(.*)"));System.out.print("返回值 :" );System.out.println(Str.matches("(.*)google(.*)"));System.out.print("返回值 :" );System.out.println(Str.matches("www(.*)"));}
}

结果的返回值:

返回值 :true
返回值 :false
返回值 :true

之后我在做项目的时候发现了一个这个

if ( ! passwordEncoder . matches ( req . getOldPassword (), sysUser . getPassword ())) {
return Result . error ( " 原密码输入错误 " );
}
为什么要用matches呢?
原来得从数据库这弄,因为数据库对这些进行了加密,密码都是 :
$10$uA51hWL5yusFBoEvZOAZbeaYYqUaFV7xjdDB8GA.4iViNiCSK9xKO
这些加密的字符串,那么用的是 Spring Security灵活的PasswordEncoder加密方式,并不是java.matches()方法,就是相当于学了一个新的字符串了。
用BCryptPasswordEncoder 做加密,在判断时要用该对象的matches方法,第一个参数为明文!!!,第二个参数才是密文 !!!
所以req.getOldPassword()是明文,sysUser.getPassword()是数据库里边的。

关于matches()的使用相关推荐

  1. Jabba: hybrid error correction for long sequencing reads using maximal exact matches机译:Jabba:使用最大精

    Jabba: hybrid error correction for long sequencing reads using maximal exact matches 机译:Jabba:使用最大精确 ...

  2. Java中 Character方法练习:字符串中英文字母个数 5435abc54abc3AHJ5 正则:matches([a-zA-Z0-9]{1})...

    package com.swift;public class String_Letter_Number_Test {public static void main(String[] args) {/* ...

  3. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    如果在刚够构建Android Studio项目的时候,运行发现,出现没找到资源的错误!找不到com.android.support/appcompat-v7/23.0.1/res/values-v23 ...

  4. zsh:no matches found 问题解决

    zsh:no matches found 问题解决 参考文章: (1)zsh:no matches found 问题解决 (2)https://www.cnblogs.com/rongfenglian ...

  5. Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

    Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题 这是API ...

  6. 关于String的matches方法

    弊端: 虽然String.matches方法最易于看一个字符串是否与正则表达式相匹配.但并不适合在注重性能的情形中重复使用. 问题在于,它内部为正则表达式创建了一个Pattern实例,却只用一次,之后 ...

  7. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题...

    如果在刚够构建Android Studio项目的时候,运行发现,出现没找到资源的错误!找不到com.android.support/appcompat-v7/23.0.1/res/values-v23 ...

  8. salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found....

    salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found. file_roots:    b ...

  9. Java中正则Matcher类的matches()、lookAt()和find()的差别

    參考博文地址:http://www.oseye.net/user/kevin/blog/170 1.matcher():仅仅有在整个字符串全然匹配才返回true,否则返回false. 可是假设部分匹配 ...

  10. grep查询不到中文 或 Binary file xx matches

    发现grep 开始查不到想要找的汉字,又保存文件后发现报Binary file  xx matches 用Linux下看这个文件 file 发现charset=Unknown-8bit 在WINDOW ...

最新文章

  1. Modus串行链路系统电气特性:2线-Modus、4线-Modus、RS232-Modus和RS485-Modus的特性
  2. 如何提升科研能力?以下这点最重要!
  3. python怎么写文件-python 头文件怎么写
  4. ORA-00928: 缺失 SELECT 关键字
  5. array_multisort - 如何保持键值,不重置键值,键名保持不变
  6. 解决Visual Studio (VS) 插件下载缓慢
  7. linux 取消混杂模式,Linux下网卡混杂模式设置和取消
  8. Ubuntu安装Vim编辑器
  9. datagrid嵌套和资源消耗
  10. C++中实现精度的控制和输出 showpoint<<或者fixed<<setprecision()用法
  11. 网易公开课APP如何修改视频缓存地址
  12. Android AVD 存放路径修改
  13. 串口异步通信——时序宽度测试
  14. js中获取阳历,阴历日期节日自动更换背景
  15. Win11电脑一边耳机没声音怎么解决
  16. 【论文笔记】A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site...(综述)
  17. Cobertura计算覆盖率
  18. 什么是多天线MIMO?
  19. c语言中不正确的浮点型常量,c语言中float a=1;对吗?,c语言的问题。float a=1,*b=a,*c=...
  20. 电信无线网固定ip参数

热门文章

  1. 牛客练习赛52 B:Galahad(树状数组维护区间不同元素和(个数))
  2. 如何使用predict()输出预测结果 以及 输出值转换为0/1值。
  3. 网站排名下降要如何优化提升排名呢
  4. TypeError: this.getOptions is not a function at Object.lessLoader
  5. Mock 的使用方法
  6. 关于全概率和贝叶斯公式的使用场景说明
  7. uva12325 暴力枚举
  8. Libvirt同步机制 —— 实现原理
  9. python计算1的平方减2的平方加3的平方减4的平方怎么算_计算1的平方减2的平方加3的平方减4的平方 – 手机爱问...
  10. BZOJ4833: [Lydsy1704月赛]最小公倍佩尔数-数论