Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能。

下面是个例子:

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern; public class TestPattern { @Test
public void testQuote(){
List<String> stringList = new ArrayList<>();
stringList.add("Hi123HitianHiyan");
stringList.add("Hiaaa");
stringList.add("aaa");
stringList.add("Hi\\/*");
stringList.add("Hi\\w*123");
stringList.add("Hi\\w*"); final String patternString = "Hi\\w*"; //根据patternString正则表达式匹配数组
System.out.println("---patternString---");
for (String string : stringList){
if(Pattern.matches(patternString, string)){
System.out.println(string);
}
} System.out.println("---quote---");
String quote = Pattern.quote(patternString);
System.out.println("patternString:"+quote);
for (String string : stringList){
if(Pattern.matches(quote, string)){
System.out.println(string);
}
} } }

执行之后,结果如下:

可以看到,正则表达式"Hi\\w*"匹配以"Hi"开头的后面任意个数字、字母、下划线、汉字;

然后使用了Pattern.quote("Hi\\w*")后,该方法的返回值就是"\QHi\\w*\E",这就是表示一个字符串常量"Hi\\w*",不具有原来正则表达式的功能,只匹配该字符串常量。

场景

接口接收一个参数name,模糊查询时只想要匹配name的字符串,这是接收到这个参数就可以使用name = Pattern.quote(name),用处理后的name去查询。

Java中Pattern类的quote方法将任何字符串(包括正则表达式)都转换成字符串常量,不具有任何匹配功能的更多相关文章

  1. Java中String类的format方法使用总结

    可参考: http://www.cnblogs.com/fsjohnhuang/p/4094777.html http://kgd1120.iteye.com/blog/1293633 String类 ...

  2. Java中Object类的公有方法

    HashCode();wait();notify();equals();getClass();toString();clone();finalize(); 这里只是简单介绍一下其中的几个函数: Has ...

  3. 关于Java中String类的hashCode方法

    首先来看一下String中hashCode方法的实现源码 public int hashCode() { int h = hash; if (h == 0 && value.lengt ...

  4. 浅谈JAVA中“增强”类的某个方法的几个中方法!

    一.继承 使用场景:能够控制这个类的构造的时候,才可以使用继承. 优点:简单容易使用, 缺点:耦合性大大的增强,不利于后期的维护,所以对于继承这种方法,谨慎使用.  代码实现:二.装饰者模式 使用场景 ...

  5. JAVA中String类的intern()方法的作用

    一般我们变成很少使用到 intern这个方法,今天我就来解释一下这个方法是干什么的,做什么用的 首先请大家看一个例子: public static void main(String[] args) t ...

  6. java中Object类的getClass方法有什么用以及怎么使用?

    Object类的getClass的用法: Object类中有一个getClass方法,m  a  r  k- t  o- w i n:它会返回一个你的对象所对应的一个Class的对象,这个返回来的对象 ...

  7. Java中Thread类的join方法到底是如何实现等待

    现在的场景是A线程执行:public void run(){ bThread.join(0);//把b线程加入到当前线程(a线程),等待b结束,当前a线程才会结束.}B线程执行public void ...

  8. JAVA中string类的split方法

    split([separator,[limit]])第一个参数为分隔符,可以是一个正则表达式,第二个参数为返回结果数组的长度

  9. 103、Java中String类之compareTo()方法

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

随机推荐

  1. 内存大小设置 Java heap space错误

    1. 问题描述 当从数据库中查询大量的数据,每个模板取出来几百万条数据,或者是频繁的刷新项目.模板时就会占用Java虚拟机JVM的大量内存,超过内存就会出现报java.lang.OutOfMemory ...

  2. luoguP1368 工艺(最小表示法 后缀自动机)

    最小表示法就是直接扫过去 后缀自动机就是每次找最字典序最小儿子输出 最小表示法 /* 最小表示法裸题, 我好像学过来着?? 怎么忘得这么干净 */ #include<cstdio> #in ...

  3. angularjs路由传递参数

    ui-sref.$state.go 的区别 ui-sref 一般使用在 <a>...</a>: $state.go('someState')一般使用在 controller里面 ...

  4. MySQL管理工具HeidiSQL

    MySQL管理工具HeidiSQL   HeidiSQL 是一个功能非常强大的 MySQL 客户端软件.它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具.要通过Hei ...

  5. mysql查询当前时间,一天内,一周,一个月内的sql语句

    查询一天:select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ...

  6. Vuejs自定义全局组件--loading

    不管是使用框架,还是不使用任何的框架,我们都不可避免的需要与“加载中……”打交道,刚刚学习了Vuejs自定义组件的写法,就现学现卖,介绍一下吧! 先看一下目录结构,一般情况下,每一个组件都新建一个新的 ...

  7. mysql 5.6 解压缩版安装教程

    MySQL 5.6 for Windows 解压缩版配置安装 听语音 | 浏览:68011 | 更新:2014-03-05 12:28 | 标签:mysql 1 2 3 4 5 6 7 分步阅读 My ...

  8. 20165205 2017-2018-2 《Java程序设计》 第三周学习总结

    20165205 2017-2018-2 <Java程序设计>第三周学习总结 教材学习内容总结 学习类的概念(类体,成员变量,方法) 学会构造方法(默认和自定义构造方法) 学会创建.使用对 ...

  9. [Unity动画]04.Avatar Mask

    参考链接: https://www.cnblogs.com/hammerc/p/4832637.html Avatar Mask主要用于动画层融合.例如说,边跑边举起东西,这个实际上就是下半身播放跑步 ...

  10. [UGUI]帧动画

    ImageFrameAnimation.cs using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [R ...