彩票计算JAVA版(二)正则分析得到对应数据
正则表达式类RegexUtil.java,默认写了patternStr了,这个参数其实也可以当做参数传递进去
package com.sillycat.easyluck.common.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.sillycat.easyluck.model.Luck;
public class RegexUtil {
private static final String patternStr = "([0-9]{5}).[0-9]{2}.[0-9]{2}.{3}.([0-9]{2}).([0-9]{2}).([0-9]{2}).([0-9]{2}).([0-9]{2}).([0-9]{2}).{3}([0-9]{2})";
public static List<Luck> getLucksFromString(String contentStr) {
List<Luck> list = new ArrayList<Luck>();
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(contentStr);
boolean result = matcher.find();
int i = 0;
while (result) {
Luck luck = new Luck();
i++;
luck.setCode(matcher.group(1));
List<String> reds = new ArrayList<String>(6);
for (int j = 2; j < matcher.groupCount(); j++) {
reds.add(matcher.group(j));
}
luck.setRedBalls(reds);
luck.setBlueBall(matcher.group((matcher.groupCount())));
list.add(luck);
result = matcher.find();
}
return list;
}
}
存储分析得到的信息的POJO
package com.sillycat.easyluck.model;
import java.util.List;
public class Luck {
private String code;
private List<String> redBalls;
private String blueBall;
... //省略了getter setter
public String toString() {
return new StringBuffer("code:" + code + " red:" + redBalls + " blue:"
+ blueBall).toString();
}
}
单元测试类RegexUtilTest.java类
package com.sillycat.easyluck.common.utils;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import junit.framework.TestCase;
import com.sillycat.easyluck.common.html.HtmlParserUtil;
import com.sillycat.easyluck.model.Luck;
public class RegexUtilTest extends TestCase {
private static final String contentStr = "...09040期04月09日开奖 04 07 10 20 26 30 + 12.......09042期04月09日开奖 04 07 10 11 13 30 + 12....";
public void testGetLucksFromString() {
List<Luck> list = RegexUtil.getLucksFromString(contentStr);
for (int i = 0; i < list.size(); i++) {
Luck t = list.get(i);
assertNotNull(t);
System.out.println(t);
}
}
}
分享到:
相关推荐
在Java编程语言中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在"java 银行卡 验证 正则表达式使用"这个主题中,我们将深入探讨如何利用正则表达式进行银行卡、手机号码和邮箱以及URL地址的...
半二次正则化(Half-Quadratic Regularization)是一种在机器学习和统计建模中广泛使用的正则化技术,主要用于解决非线性优化问题。它通过引入半二次函数来约束模型参数,从而避免过拟合并提高模型的泛化能力。这种...
《计算理论(第二版)》课程的课件深入探讨了计算世界的基石——正则语言与上下文无关方法。这些概念是计算机科学理论的核心,对于理解计算机如何处理信息至关重要。 正则语言是形式语言理论的一个重要分支,它由...
5. **实现细节**:在Java编程中,我们可以使用数据结构如HashMap来存储状态及其转移关系。对于每个输入,遍历当前DFA状态的所有NFA子集,计算新状态的子集,并更新DFA的状态转移表。 6. **优化DFA**:转换后的DFA...
总的来说,MATLAB的`gcv`函数是正则化过程中非常实用的工具,尤其是在`regtools`工具箱的支持下,用户可以方便地进行正则化参数的选择,从而得到具有良好泛化能力的模型。对于进行机器学习研究或者数据分析的工程师...
正则表达式库汇编第二版是一个专注于正则表达式的资源集合,特别强调了与汇编语言的结合。正则表达式是计算机科学中的一个重要工具,用于在文本中进行模式匹配和搜索。它们广泛应用于数据验证、文本提取、数据清洗等...
在数值计算领域,正则化方法是一种非常重要的技术,尤其在处理病态矩阵问题时显得至关重要。病态矩阵指的是那些条件数(condition number)极大,容易导致计算不稳定或精度极低的矩阵。这类矩阵通常出现在数据采集...
要进行手机归属地的解析,通常需要处理两种主要数据:手机号码和对应的数据表,数据表中存储了手机号码与归属地的对应关系。 正则表达式(Regular Expression)是处理字符串的强大工具,常用于模式匹配和数据提取。...
化参数优化方法能显著提升正则化解算的性能,...这种方法不仅理论上有依据,而且在实际应用中表现出了优越的性能,为病态问题的解决提供了新的思路,对于提高大地测量和其他相关领域的数据分析质量具有重要的实践意义。
在IT领域,特别是数据分析和机器学习中,正则化是一种重要的技术,用于防止过拟合,提高模型的泛化能力。Per Christian Hansen是这方面的知名专家,他的正则化工具包为研究者和工程师提供了丰富的资源。这个压缩包...
NFA(非确定性有限状态自动机)和DFA(确定性有限状态自动机)是计算理论中用于识别正则语言的两种模型。 1. **正则表达式**: 正则表达式,简称regex,是由字符、元字符和运算符组成的模式,用于描述一系列字符串...
"自_求次方"可能是指自我递归的方式计算幂次,这在处理大数进制转换时可能会用到,特别是在计算2的幂次或者16的幂次以得到对应的二进制或十六进制位。 "数制检测"是确保输入的数字字符串符合特定进制的规则。例如,...
正则表达式是一种强大的文本处理工具,用于模式匹配、查找、替换等操作,广泛应用于数据清洗、日志分析、网络安全等领域。 ### 匹配中文字符 正则表达式:`[\u4e00-\u9fa5]` 此表达式用于匹配任何中文字符,范围...
正则表达式(Regular Expression)是编程领域中用于匹配字符串的强大工具,广泛应用于文本处理、数据验证、搜索和替换等场景。Expresso是一款专为正则表达式设计的测试和分析工具,尤其适合初学者使用。它提供了丰富...
此外,对于想要了解彩票数据分析或者对易语言编程有兴趣的初学者来说,这是一个很好的实践项目。通过阅读和运行源码,你可以看到易语言如何与网络和正则表达式结合,实现自动化获取和处理网络数据。
"CRC_Calc+v0.1.exe"可能是一个CRC计算工具,它允许用户输入数据并计算对应的CRC值,或者验证已有的CRC值是否正确。这种工具对于开发者来说非常实用,特别是在调试通信协议或存储系统时,能快速检查数据传输的完整性...
根据提供的文件信息,我们可以整理出一系列与正则表达式相关的...以上内容概括了从文件中提取出来的正则表达式知识点,这些知识点覆盖了正则表达式的多个应用场景,对于从事软件开发、数据分析等领域的人来说非常实用。
本文所探讨的“运动匹配”是一种在图像序列或多个不同数据源中寻找对应点的过程,这种技术广泛用于视频分析、医学成像和机器人导航等领域。运动匹配的目标是理解物体或场景在不同时间点的变化,通常会利用光流估计或...
它们在编程语言中广泛使用,例如在C语言中,常用于数据验证、搜索、替换等任务。本项目涉及的是将正则表达式转换为非确定性有限状态自动机(NFA),这是正则表达式理论中的一个重要概念。 首先,我们需要理解什么是...
每个匹配到的非ASCII字符都会被替换成`"aa"`,这样就能通过计算字符串的长度来得到中文字符的数量。 #### 分解和转换IP地址 除了中文字符的匹配,正则表达式还可以用来处理IP地址。例如,下面的JavaScript函数可以...