public static void main(String[] args) { String str="(2012-02-8)casfdsagfdhajaghs"; boolean startStr = str.startsWith("("); if(startStr){ String tempStr = str.substring(1); int timeIndex = tempStr.indexOf(")"); System.out.println(timeIndex); if(timeIndex > 0){ String timeStr = tempStr.substring(0,timeIndex); System.out.println(timeStr); if(isTimeStr(timeStr)){ String res = tempStr.substring(timeIndex); System.out.println(res); } } } } public static boolean isTimeStr(String timeStr){ boolean isTimeStr1 = false, isTimeStr2 =false; String DatePattern = "^(?:([0-9]{4}-(?:(?:0?[1,3-9]|1[0-2])-(?:29|30)|" + "((?:0?[13578]|1[02])-31)))|" + "([0-9]{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\\d|2[0-8]))|" + "(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|" + "(?:0[48]00|[2468][048]00|[13579][26]00))-0?2-29)))$"; String DatePattern2 = "^(?:([0-9]{4}/(?:(?:0?[1,3-9]|1[0-2])/(?:29|30)|" + "((?:0?[13578]|1[02])/31)))|" + "([0-9]{4}/(?:0?[1-9]|1[0-2])/(?:0?[1-9]|1\\d|2[0-8]))|" + "(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|" + "(?:0[48]00|[2468][048]00|[13579][26]00))/0?2/29)))$"; Pattern p1 = Pattern.compile(DatePattern); Matcher m1 = p1.matcher(timeStr); isTimeStr1 = m1.matches(); Pattern p2 = Pattern.compile(DatePattern2); Matcher m2 = p2.matcher(timeStr); isTimeStr2 = m2.matches(); return isTimeStr1 || isTimeStr2 ; }
相关推荐
- **启发式算法**:对于复杂问题,可以采用启发式算法,如A*搜索、Beam搜索等,以平衡计算时间和匹配质量。 - **并行计算**:利用Java的并发库,如`java.util.concurrent`,可以并行处理多个模糊匹配任务,提高整体...
这涉及到一系列算法,如最短路径算法、动态时间规整(Dynamic Time Warping)、模糊匹配等,它们旨在解决由于GPS定位误差、道路网络的复杂性等因素导致的匹配问题。例如,通过最短路径算法,我们可以找到从一个GPS点到...
在Java中,构建部分匹配表通常需要一个辅助函数,然后在主函数中进行字符串匹配。KMP算法的时间复杂度仍为O(n),但在实际应用中表现更优,因为它减少了不必要的字符比较。 在提供的压缩包文件"串匹配_2006690437"中...
此算法有两个特点:一是扫描文本时完全不需要回溯,二是时间复杂度为O(n)与关键字的数目和长度无关,但所需时间和文本长度以及所有关键字的总长度成正比。 算法思想:用多模式串建立一个确定性的树形有限状态机,以...
Java 实现字符串的匹配 Java 是一种广泛应用于软件开发的编程语言,而字符串匹配是 Java 中一个常见的应用场景。本文将介绍如何使用 Java 实现字符串的匹配,通过对字符串的处理和分析来实现字符串之间的匹配。 ...
Java 搜索自动匹配技术是现代应用中常见的功能,特别是在网页搜索、内容推荐系统以及智能输入法等场景下,能够极大地提升用户体验。这个功能的核心在于快速有效地找出与用户输入相匹配的候选词汇,通常通过实时查询...
### JAVA中获得本地系统时间的方法 在Java编程中,获取本地系统的当前时间是常见的需求之一。这不仅可以用于记录日志、实现定时任务等功能,还能帮助开发者进行时间相关的数据处理。本文将详细介绍两种常用方法来...
Java字符串匹配是一个常见的编程问题,通常涉及到字符串处理和算法。在这个特定的例子中,采用了一种基于素数对应的方法来检查一个字符串是否是另一个字符串的子序列。以下是这种方法的详细解释: 首先,我们需要...
在Java中,时间处理主要涉及到`java.util.Date`、`java.time`包(Java 8及以后版本)以及`java.text.SimpleDateFormat`等类。然而,当涉及时间计算或转换时,可能会遇到超出合理范围的情况,例如尝试创建一个超出24...
java超时取消正则表达式匹配方法,代码超时处理,设置代码执行时间,超棒的工具类 lambda,Callable,ExecutorService,超过执行5秒退出
在Java编程中,时间处理是不可或缺的一部分,尤其是在开发复杂的应用程序时。本资源包"java 关于时间的代码"提供了一些关键的示例,涵盖了时间、正则表达式、集合以及遍历等重要概念,旨在帮助开发者更好地理解和...
经典的WM算法的源代码,原先就在csdn...经过改进之后,可以完美的支持中英文混合的多模式匹配,而且支持从文件中读取样本数据以及模式数据,经过测试相当的快。4MB的中文2000条关键字,只需0.1秒左右的时间,赞一个!!
这是个比较难理解的算法,虽然代码就那么几行,但真正理解清楚还是要会时间的。
然而,鼓励有能力的学生尝试使用C++实现算法,以便在时间效率和空间效率上与JAVA进行比较,这样能够更好地理解不同编程语言在处理同一问题时的优劣。 实验结果的输出应当详细记录。最基本的要求是输出n=3、5、7时的...
### Java时间格式转换详解 在Java开发过程中,对日期时间的操作是必不可少的。为了更好地处理时间数据,Java提供了丰富的API来实现时间格式的转换。本文将详细介绍如何利用Java内置类库进行时间格式的转换,包括从`...
在IT领域,排序、匹配和查找是数据处理与算法设计中的基础且重要的组成部分。下面将分别详细介绍这些概念以及相关的算法。 **排序算法**是计算机科学中处理数组或列表的一种常见方法,目标是按照特定顺序(如升序或...
在这里,我们将深入探讨最大匹配算法的原理,以及如何用Java进行实现。 最大匹配算法的核心思想是在待处理的文本中寻找最长的可能词或模式。它分为正向最大匹配和反向最大匹配两种策略: 1. 正向最大匹配:从字符...
在Java编程中,处理时间字符串解析时经常遇到的问题是时间格式的不一致性,尤其是在毫秒值存在或缺失的情况下。本文将详细讲解如何在Java中解析包含或不包含毫秒值的时间字符串。 首先,我们来看标题和描述中提到的...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
用户只需要输入或导入商品的相关信息,就能自动生成对应的淘宝口令,大大节省了手动操作的时间。 其次,Java淘客助手的免费特性使得更多的淘宝客可以受益。在互联网营销竞争激烈的今天,降低成本、提高效率是每个...