Java中的正则表达式匹配与C#的区别
作者:陆金龙
发表时间:2017-09-23 13:38
Java正则表达式匹配判断:
find()用于搜索,只要部分匹配正则表达式即可。
matches()用于于字符串的完整匹配,部分满足条件不行。
Java部分匹配使用find 而不要用matches。
与C#正则匹配用法比较:
C# 使用Regex.IsMatch()判断是否匹配:
bool IsRight =Regex.IsMatch("需要处理的字符串","正则表达式")
扩展 获取匹配内容:
Java:
String str = "需要处理的字符串";
Pattern p = Pattern.compile("正则表达式");
Matcher m = p.matcher(str);
boolean isFound = m.find();
if(isFound){
for (int i = 1; i <= m.groupCount(); i ) {
String result = m.group(i);
}
}
C#:
1.得到单个数据(从字符串左边向右边寻找,遇到第一个符合就返回)
Match m = Regex.Match()("需要处理的字符串","正则表达式")
string str = m.value;
2.得到所有能匹配的子字符串数据,并返回一个Match集合。
MatchCollection ms = Regex.Matches("需要处理的字符串","正则表达式")
foreach(Match m in ms)
{
string result =m.value;
}