Java正则表达式处理特殊字符转义的方法
正则需要转义字符
'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'
异常现象:
java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0
解决方法
对特殊字符加\\转义即可。
注意:虽然使用[]在部分条件下也可以,但是在对于(、[、{范围边界开始符不匹配的情况下会报如下:
异常现象
java.util.regex.PatternSyntaxException: Illegal repetition near index 50
Java过滤正则表达式特殊字代码如下(注意:\\需要第一个替换,否则replace方法替换时会有逻辑bug)
/** * 转义正则特殊字符 ($()*+.[]?\^{},|) * * @param keyword * @return */ public static String escapeExprSpecialWord(String keyword) { if (StringUtils.isNotBlank(keyword)) { String[] fbsArr = { "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" }; for (String key : fbsArr) { if (keyword.contains(key)) { keyword = keyword.replace(key, "\\" + key); } } } return keyword; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
java使用正则表达式查找包含的字符串示例
本文实例讲述了java使用正则表达式查找包含的字符串.分享给大家供大家参考,具体如下: Hello.java: package hello; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Hello { public static void main(String[] args) { String re = "\\[([^\\]]+)\\]"; String str = &quo
-
Java基于正则表达式实现查找匹配的文本功能【经典实例】
本文实例讲述了Java基于正则表达式实现查找匹配的文本功能.分享给大家供大家参考,具体如下: REMatch.java: package reMatch; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank */ public class REMatch { public static void main(String[] args) { String patt = "Q[^
-
Java正则表达式之split()方法实例详解
本文实例讲述了Java正则表达式之split()方法.分享给大家供大家参考,具体如下: 1.方法介绍 (1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 (2)public String[] split(String regex,int limit) 根据匹配给定的正则表达式来拆分此字符串 2.方法实例 /** * @Title:Split.java * @Package:com.you.data * @Description:Ja
-
Java基于正则表达式获取指定HTML标签指定属性值的方法
本文实例讲述了Java基于正则表达式获取指定HTML标签指定属性值的方法.分享给大家供大家参考,具体如下: 有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对比较麻烦! 如果使用正则表达式,那么就变得简单了.代码如下: package com.mmq.regex; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import
-
java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】
本文实例讲述了java正则表达式实现提取需要的字符并放入数组.分享给大家供大家参考,具体如下: 这里演示Java正则表达式提取需要的字符并放入数组,即ArrayList数组去重复功能. 具体代码如下: package com.test.tool; import java.util.ArrayList; import java.util.HashSet; import java.util.regex.*; public class MatchTest { public static void ma
-
Java基于正则表达式实现的替换匹配文本功能【经典实例】
本文实例讲述了Java基于正则表达式实现的替换匹配文本功能.分享给大家供大家参考,具体如下: package replaceDemo; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank * 替换匹配的文本 */ public class ReplaceDemo { public static void main(String[] args) { // 创建一个正则表达式模式
-
Java中正则表达式去除html标签
Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正文的前50字作为摘要,那么这时需要去除所有html标签,然后在截取50字,所以就通过了Java正则表达式实现了如下方法,代码如下: 注:这是Java正则表达式去除html标签方法. private static final String regEx_script = "<script[^>
-
Java正则表达式判断字符串中是否包含中文示例
前言 在日常开发编程中,我们有时从用户那里得到一些输入信息,对于特定应用,部分信息不允许包含中文字符,那如何检测信息字符串中是否包含中文字符呢? 方法有很多,这篇文章就介绍一下如何通过正则表达式来实现这个需求. 示例代码 package cn.sunzn.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { public static void main(String[]
-
Java正则表达式实现在文本中匹配查找换行符的方法【经典实例】
本文实例讲述了Java正则表达式实现在文本中匹配查找换行符的方法.分享给大家供大家参考,具体如下: 默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTILINE 模式中时,$ 仅在行结束符之前或输入序列的结尾处匹配. NLMatch.java: package nlMatch; import java.util.regex.Pattern; /**
-
java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1
随机推荐
- NodeJS学习笔记之Http模块
- Ajax中浏览器和服务器交互详解
- 让新消息在网页标题闪烁提示的jQuery代码
- JSON字符串转JSON对象
- 将list转换为json失败的原因
- JS实现的多张图片轮流播放幻灯片效果
- Python中使用不同编码读写txt文件详解
- MySql安装步骤图文教程及中文乱码的解决方案
- PHP5.4中json_encode中文转码的变化小结
- js弹出模式对话框,并接收回传值的方法
- Pycharm编辑器技巧之自动导入模块详解
- 页面自动刷新,不用按回车键来提交数据!
- SQL Server把某个字段的数据用一条语句转换成字符串
- php array_map使用自定义的函数处理数组中的每个值
- iframe异步加载实现点击左边菜单加载右边内容实例讲解
- Android中使用LayoutInflater要注意的一些坑
- node.js实现微信JS-API封装接口的示例代码
- 超详细的javascript数组方法汇总
- Flex Javascript交互实现代码
- Java 中Comparable和Comparator区别比较