Java 正则表达式常用惯例
1,判断字符串是否是HTML页面
/*** * 判断是否是HTML 网页 * @param input * @return */ public static boolean isHTMLWebPage(String input){ if(ValueWidget.isNullOrEmpty(input)){ return false; } return input.matches(".*<html[\\s\\w'\"=]*>.*"); }
应用:
@Test public void test_isHTMLWebPage(){ String input="a<html><head><title>"; System.out.println(RegexUtil.isHTMLWebPage(input)); } ComponentUtil.appendResult(resultTextPane, "返回的状态码:" + respCode, true); if(!ValueWidget.isNullOrEmpty(responseJsonResult)&&RegexUtil.isHTMLWebPage(responseJsonResult)){ //弹出框显示HTML CustomDefaultDialog customDefaultDialog=new CustomDefaultDialog(responseJsonResult,"显示HTML",true); customDefaultDialog.setVisible(true); }
2,把换行的段落当做字符串拼接
/*** * 把换行的段落当做字符串拼接 * @param input * @param cr * @param quote * @return */ public static String splitPlus(String input,String cr,String quote){ String chinese; // String quote="\""; String replacement=quote+" +$1"+quote+"$2"; String regex="[\\s]*([^\\s]+.*)"; input=input.replace(quote, "\\"+quote);//原字符串转义 if(cr.equals("\\r\\n")){ chinese=input.replaceAll("(\r\n)"+regex, replacement); }else if(cr.equals("\\n")){ chinese=input.replaceAll("(\n)"+regex, replacement); }else if(cr.equals("\\r")){ chinese=input.replaceAll("(\r)"+regex, replacement); }else{ chinese=input.replaceAll("(\n\r)"+regex, replacement); } return quote+chinese+quote+";"; }
应用:
源代码见附件:
下载地址:http://pan.baidu.com/s/1sjy1ceT
参考:java swing 工具箱:http://hw1287789687.iteye.com/blog/2251439
3,java 模拟linux中sed
/*** * __showLog=True -->__showLog=false * @param source * @param regex : 正则表达式 * @param replacement * @return */ public static String sed(String source,String regex,String replacement){ Pattern p=Pattern.compile(regex,Pattern.MULTILINE); Matcher m=p.matcher(source); String result = m.replaceAll(replacement); return result; } /*** * 模拟linux 的sed 功能 * <br>将关闭输出流 * @param source * @param regex : 正则表达式 * @param replacement * @return */ public static String sed(File source,String regex,String replacement){ String input=null; try { input = FileUtils.getFullContent2(source, SystemHWUtil.CHARSET_UTF); input=sed(input, regex, replacement); FileUtils.writeStrToFile(source, input, false); } catch (IOException e) { e.printStackTrace(); } return input; }
应用:
4,删除每行前面的数字
/*** * 删除每行前面的数字 * @param input * @return */ public static String deleteDigit(String input) { if(ValueWidget.isNullOrEmpty(input)){ return null; } Pattern p = Pattern.compile("^[\\d]+[,:]?[\\s]*",Pattern.MULTILINE); Matcher m = p.matcher(input); String result = m.replaceAll(SystemHWUtil.EMPTY); return result; }
应用:
@Test public void test_deleteDigit(){ String input; try { input = FileUtils.getFullContent3(new File("e:\\tmp\\testdigit.txt"), SystemHWUtil.CHARSET_CURR).toString(); System.out.println(RegexUtil.deleteDigit(input)); } catch (IOException e) { e.printStackTrace(); } }
5,模板sed的参数y
/*** * * @param source * @param arrFrom * @param arrTo * @return */ public static String sedY(String source,String[] arrFrom,String[] arrTo){ if(ValueWidget.isNullOrEmpty(source)){ return SystemHWUtil.EMPTY; } int length=arrFrom.length; for(int i=0;i<length;i++){ String tmp=arrFrom[i]; if(source.equals(tmp)){ return arrTo[i]; } } // return SystemHWUtil.EMPTY; throw new RuntimeException("can not find"); }
应用:
@Test public void test_sedY(){ String base[]=new String[]{"a","bc","c","d"}; String result=RegexUtil.sedY("a", base, new String[]{"1a","2b","3c","4d"}); System.out.println(result); }
6,获取请求头中的 cookie
/*** * regex 中必须包含小括号 * @param source * @param regex * @return */ public static String sed(String source, String regex) { Pattern p = Pattern.compile(regex, Pattern.MULTILINE); Matcher m = p.matcher(source); if (m.find()) { return m.group(1); } return null; } String cookieLine = RegexUtil.sed(requestHeaderAndServletPath, "(Cookie:[^:]+)");
7,篡改请求头中的 Host
/*** * 篡改请求头中的Host * @param string * @param domain * @return */ public static String replaceHost(String string, String domain) { string = string.replaceAll("(Host:[\\s]*)[a-zA-Z\\.-]+", "$1" + domain);//blog.yhskyc.com string = string.replaceAll("(Host:[\\s]*)[\\d\\.]+:[\\d]+", "$1" + domain);//127.0.0.1:8080 return string; }
注意:[.]+ 不能匹配任意字符,应该是.+
相关推荐
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...
Java正则表达式是Java语言中用于处理字符串的强大工具,它允许程序员进行复杂的字符串匹配、查找和替换操作。正则表达式(Regular Expression)是一种模式匹配语言,通过特定的语法来描述字符串的模式,用于在文本中...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
在Java编程语言中,正则表达式被广泛应用于数据验证、文本提取和字符串操作。以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...
Java正则表达式是一种强大的文本处理工具,广泛用于验证字符串、查找特定模式和替换文本。在Java中,正则表达式提供了简洁而灵活的方式来处理字符串,使得编程人员能够以更高效的方式实现各种文本操作。 正则表达式...
Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...
Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
以下是一些常用的Java正则表达式语法: 1. `.`:匹配任何字符。 2. `*`:匹配零个或多个字符。 3. `+`:匹配一个或多个字符。 4. `?`:匹配零个或一个字符。 5. `{n}`:匹配前一个字符的n次出现。 6. `{n,}`:匹配...
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
Java正则表达式是编程语言Java中用于处理字符串和文本的强大工具。它允许开发者通过模式匹配来执行复杂的文本分析和操作。在Java中,正则表达式的操作主要涉及两个核心类:`java.util.regex.Matcher`和`java.util....
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...
在这个“常用正则表达式HTML,JAVA合集”中,我们主要关注的是HTML和Java环境下的正则表达式应用。 1. **HTML中的正则表达式**: 在HTML中,正则表达式通常用于表单验证,例如输入字段(如邮箱、电话号码、手机号码...
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
Java正则表达式介绍和练习Java正则表达式介绍和练习Java正则表达式介绍和练习