当前位置:编程学习 > JAVA >>

java正则表达式处理类

[java] 
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)); 

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 i

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,