java正则表达式处理类
来源:互联网 发布:祛斑精华知乎 编辑:程序博客网 时间:2024/05/16 18:25
package com.metarnet.Execution.util;import java.io.UnsupportedEncodingException;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * String正则表达式匹配 * 闫帆 */public class StringUtil {/*** 函数名:strToInt 作 用:把字符串转为整型 参 数:s: 字符串型 返回值:整型**/public static int strToInt(String s) {int i = 0;try {i = Integer.parseInt(s);} catch (NumberFormatException illl) {i = 0;}return i;}/*** 函数名:strToInt 作 用:把字符串转为整型 参 数:s: 字符串型 参 数:itt: 整型 返回值:整型 如果返回值为‘0’则返回* itt;**/public static int strToInt(String s, int itt) {int i = strToInt(s);if (i == 0)i = itt;return i;}public static String encode(String result, String code) {String res = null;try {res = new String(result.getBytes(), code);} catch (UnsupportedEncodingException ex) {System.out.println("charset:" + ex.getMessage());res = result;}return res;}/*** 正则表达式匹配,返回匹配成功的次数* * @param str* 原字符串* @param regEx* 正则表达式* @return 返回匹配成功的次数*/public static int findReturnCount(String str, String regEx) {int count = 0;Pattern p = Pattern.compile(regEx);Matcher matcher = p.matcher(str);while (matcher.find()) {count++;}return count;}/*** 正则表达式匹配,只要匹配成功一次,则返回true* * @param str* 原字符串* @param regEx* 正则表达式* @return 只要匹配成功一次,则返回true*/public static boolean findReturn(String str, String regEx) {boolean flag = false;String[] regExs = regEx.split("\\|");for (String regExStr : regExs) {Pattern p = Pattern.compile(regExStr);Matcher matcher = p.matcher(str);if (matcher.find()) {flag = true;return flag;}}return false;}/*** 正则表达式分割字符串* * @param str* 原字符串* @param regEx* 正则表达式* @param child* 子匹配,0匹配整个表达式,1匹配第一个括号内的表达式...* @return 返回分割后的字符串数组*/public static String[] splitStr(String str, String regEx, int child) {Pattern p = Pattern.compile(regEx);String formatStr = "";Matcher matcher = p.matcher(str);while (matcher.find()) {formatStr += matcher.group(child) + "`";}if (formatStr.equals("")) {return str.split("\\`");}return formatStr.split("\\`");}/*** 正则表达式分割字符串* * @param str* 原字符串* @param regEx* 正则表达式* @param child* 子匹配,0匹配整个表达式,1匹配第一个括号内的表达式...* @param column* 分割后字符串数组的长度* @return 返回分割后字符串数组的长度等于column的行的字符串数组*/public static String[] splitStr(String str, String regEx, int column,int child) {Pattern p = Pattern.compile(regEx);String formatStr = "";Matcher matcher = p.matcher(str);while (matcher.find()) {formatStr += matcher.group(child) + "`";}if (formatStr.equals("")) {return str.split("\\`");}return formatStr.split("\\`");}}例:判断一个字符串是否是以END结尾(结尾可存在特殊字符,不能存在字母数字和汉字) String returnString="asd fsadf " +"asdfasdfasd fasdfa" +"sdf asdsdc" +"asdfa sdfa" +"dfasd fcsd" +"casd ascsdfEND";String parse="([\\s\\S]*?)END\\W*$";System.out.println(StringUtil.findReturn(returnString, parse));判断一个字符串是否是以END开头和结尾(开头结尾可存在特殊字符,不能存在字母数字和汉字)public static void main(String[] args) {String returnString="<ENDasd fsadf " +"asdfasdfasd fasdfa" +"sdf asdsdc" +"asdfa sdfa" +"dfasd fcsd" +"casd ascsdfEND>";String parse="^\\W*END([\\s\\S]*?)END\\W*$";System.out.println(StringUtil.findReturn(returnString, parse));}判断一个字符串是否是以END开头和结尾(开头不能存在任何字符,结尾可存在特殊字符,不能存在字母数字和汉字)public static void main(String[] args) {String returnString="ENDasd fsadf " +"asdfasdfasd fasdfa" +"sdf asdsdc" +"asdfa sdfa" +"dfasd fcsd" +"casd ascsdfEND";String parse="^END([\\s\\S]*?)END\\W*$";System.out.println(StringUtil.findReturn(returnString, parse));}判断一个字符串是否是以END开头和结尾(开头和结尾都不能存在任意字符)public static void main(String[] args) {String returnString="ENDasd fsadf " +"asdfasdfasd fasdfa" +"sdf asdsdc" +"asdfa sdfa" +"dfasd fcsd" +"casd ascsdfEND";String parse="^END([\\s\\S]*?)END$";System.out.println(StringUtil.findReturn(returnString, parse));}
-----------------------------------程序员 闫帆原创---------------------------------------
转载请注明原创人信息 程序员 闫帆yanfanvip
- java正则表达式处理类
- java处理正则表达式
- 正则表达式以及Java中的一个正则表达式处理库
- 正则表达式工具类,正则表达式封装,Java正则表达式
- 处理正则表达式的java包:regexp
- 处理正则表达式的java包:regexp
- JAVA环境使用正则表达式处理字符串
- Java 正则表达式 对于 乘号"*" 的处理
- JAVA环境使用正则表达式处理字符串
- java 处理文件路径 正则表达式
- Java处理正则表达式特殊字符转义
- java利用正则表达式处理函数
- java正则表达式处理HTML标签
- java基于正则表达式的域名处理
- Java处理正则表达式特殊字符转义
- Java处理正则表达式特殊字符转义
- Java处理正则表达式特殊字符转义
- Java正则表达式及字符串处理详解
- 判断当前时间是否在某多个时间段
- 无法自动生成或更新R.java文件
- POJ3764 日日夜夜的TLE
- andorid 收藏索引
- Android系统为何不流畅?QNX道破玄机
- java正则表达式处理类
- Mybatis - Mapper文件简练
- 模板的使用
- ORACLE自动主键功能
- Android启动Launcher过程
- HDU 2059 龟兔赛跑 思想基本正确,但是没有独立做出来,以后再自我考察 update
- 各操作系统启动java程序的脚本
- C#温故而知新学习系列之.NET框架高级特性—.NET框架中自身提供的属性(二)
- js版的dateAdd与dateDiff