import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegExpUtil { /** * 过滤html标签 * @param s - html字符串 * @param tag - a,p,img,div,(不区分大小写) * @param contain - 是否过滤掉标签内包含的内容 * @return */ public static String filterTag(String s, String tag, boolean contain) { String regexp = null; if (contain) { //懒惰匹配的加问号,如*?,最小匹配 regexp = "<[\\s]*?"+tag+"[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?"+tag+"[\\s]*?>"; } else { regexp = "<\\s*" + tag + "([^>]*)>|</\\s*" + tag + "\\s*>"; } Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); //System.out.println(matcher.group()); } matcher.appendTail(sb); return sb.toString(); } /** * * 过滤html标签组 * @param s - html字符串 * @param tags - a,p,img,div,(不区分大小写) * @param contain - 是否过滤掉标签内包含的内容 * @return */ public static String filterTags(String s, String[] tags, boolean contain) { String ss = s; for (String tag : tags) { ss = filterTag(ss, tag, contain); } return ss; } /** * 过滤html中的注释和标签 * @Date: 2013-6-24下午12:10:29 * @Description: String * @param html * @return */ public static String filterHtmlTag(String html){ String regexp = "<[\\s*\\S*]([^>]*)>|</[\\s*\\S*]>"; Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(html); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); return sb.toString(); } /** * 先过滤掉head,script,style(包括标签内的内容),然后过滤所有的html标签(不包括内容) * @Date: 2013-6-24下午12:13:07 * @Description: String * @param text * @return */ public static String filterNoise(String text){ String[]tags = {"head","script","style"}; text = filterTags(text, tags, true); text = filterHtmlTag(text); text = text.replaceAll("\\s+", ""); return text; } /** * 过滤掉指定的html标签 * @Date: 2013-6-13上午10:21:01 * @Description: void * @param text */ public static String removeHTML(String text){ String[] tags = { "a", "img", "p", "div", "center"}; text = filterTags(text, tags, false); String[] tags2 = {"object","param","script","iframe" }; text = filterTags(text, tags2, true); text = text.replaceAll("\\r*\\n*", ""); text = text.replaceAll(">\\s*<", "><"); return text; } public static boolean match(String text, String regex) { if ((text != null) && (text.trim().length() > 0)) { String t = text.replaceAll(regex, ""); if (t.length() == 0) { return true; } return false; } return false; } public static boolean isChinese(String text) { String regex = "([\u4E00-\u9FA5])"; return match(text, regex); } public static boolean isEnglish(String text) { String regex = "([a-zA-Z])"; return match(text, regex); } public static boolean isDigit(String text) { String regex = "([0-9])"; return match(text, regex); } public static String getChinese(String s) { String regexp = "([\u4E00-\u9FA5])"; Pattern pattern = Pattern.compile(regexp, 2); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } return sb.toString(); } public static String getEnglish(String s) { String regexp = "[a-zA-Z]"; Pattern pattern = Pattern.compile(regexp, 2); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } return sb.toString(); } public static String getEnglishPDF(String s) { String regexp = "[a-zA-Z\\s-&]"; Pattern pattern = Pattern.compile(regexp, 2); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } return sb.toString(); } public static String getDigit(String s) { String regexp = "[0-9]"; Pattern pattern = Pattern.compile(regexp, 2); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { sb.append(matcher.group()); } return sb.toString(); } //过滤非字母数字汉字 public static String filterNotAlphaDigitChinese(String text) { return text.replaceAll("[\\pP\\pZ\\pS]", ""); } public static String filterPrefix(String text, String regex) { if ((text == null) || (text.trim().length() == 0)) { return null; } char[] cs = text.toCharArray(); int index = 0; for (int i = 0; i < cs.length; i++) { String c = cs[i] + ""; boolean bool = c.matches(regex); if (!bool) { index = i; break; } } String text_final = text.substring(index, text.length()); return text_final; } public static String add(String text,String regex,String prefix,String suffix){ // String regex = "[\u4E00-\u9FA5]{2,20}[\\s]{1,10}[a-zA-Z\\s&]{1,50}"; // "</content>\n<title>", "</title>\n<content>" //pattern Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(text); StringBuffer sb = new StringBuffer(); while (matcher.find()) { String match_text = matcher.group(); // match_text = match_text.replaceAll("\r", ""); String replace_text = prefix+match_text+suffix; // replace_text = replace_text.replaceAll("\n\r", ""); matcher.appendReplacement(sb, replace_text); // sb.append(matcher.group()); } matcher.appendTail(sb); // System.out.println(sb.toString()); return sb.toString(); } /** * 是否是数字和符号的组合 * @param text * @return */ public static boolean isDigitSymbol(String text){ String regex = "[\\pP\\pS\\pN\\pZ]"; // System.out.println(text.matches(regex)); String t = text.replaceAll(regex, ""); if("".equals(t)){ return true; }else{ return false; } } /** * 是否包含中文或者英文 * @param text * @return */ public static boolean isChineseEnglish(String text){ String regex = "\\pL"; Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(text); StringBuffer sb = new StringBuffer(); while (matcher.find()) { // matcher.appendReplacement(sb, ""); // System.out.println(matcher.group()); return true; } return false; } public static List<String> getTagHtml(String s, String tag) { //懒惰匹配的加问号,如*?,最小匹配 String regexp = "<[\\s]*?"+tag+"[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?"+tag+"[\\s]*?>"; // regexp = "<\\s*" + tag + "([^>]*)>|</\\s*" + tag + "\\s*>"; Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(s); List<String> result = new ArrayList<String>(); while (matcher.find()) { String e = matcher.group(); // System.out.println(matcher.toString()); result.add(e); //System.out.println(matcher.group()); } return result; } /** * 过滤所有空格 * @param text * @return */ public static String filterSpace(String text){ String regex_32 = (char)32+""; text = text.replaceAll(regex_32, ""); for (int i = 128; i < 161; i++) { String regex = (char)i+""; text = text.replaceAll(regex, ""); } return text; } /** * 过滤注释标签<!开头的 * @param s * @param tag * @param contain * @return */ public static String filterAnnotation(String s) { //懒惰匹配的加问号,如*?,最小匹配 String regexp = "<![^>]*>"; Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(s); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); //System.out.println(matcher.group()); } matcher.appendTail(sb); return sb.toString(); } public static void main(String[] args) { } }
相关推荐
内容概要:本文涵盖了一系列重要的Java基础知识与进阶概念的面试问题及其详细解答,其中包括JVM的工作原理,垃圾回收的实施细节,多线程的解决方案,以及诸如单例设计模式、异常处理和线程安全集合等实际应用中的编程技巧介绍。 适合人群:旨在为准备面试或希望提高Java编程技能的专业人士提供有用指南,无论是对于初级程序员还是资深开发者都有所帮助。 使用场景及目标:适用于Java学习阶段,帮助理解和记忆相关的关键术语和复杂理论;作为快速查阅资料的宝典应对技术评估或职业机会考察。 阅读注意点:强烈建议在研读解答的同时,进行相应的编程实验和实操练习,以便于深化对每个专题的理解和巩固知识点的应用能力。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
基于java的考研指导平台设计与实现.docx
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
基于java的家政服务中介网设计与实现.docx
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
推地推拉新任务分销系统源码是一款任务拉新悬赏系统,可用于地推任务拉新和任务分销, 会员管理,分销设置,订单管理,财务管理,文章资讯管理。它的运行环境为PHP+MySQL+TP。
学校大创竞赛管理系统,学生上报项目内容,学院、教务处、评审专家评审。SpringBoot、SpringCloud、SpringSecurity、redis、Mysql、swagger、fastdfs、maven、vue、webpack.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
Python是一种高级的、动态类型的编程语言,其设计注重代码的可读性和简洁性。以下是对Python的详细介绍: 一、基本概述 中文名:Python 创始人:吉多·范罗苏姆(Guido van Rossum) 首次发布时间:1991年(Python 0.9.0) 主要版本:Python 2.0(2000年发布)、Python 3.0(2008年发布,为主要修订版) 语言特性:解释型、高级、通用编程语言 二、主要特点 简单易学:Python的语法简洁明了,易于理解和学习。其设计哲学强调代码的可读性和简洁的语法,使得编程变得更加直观和简单。 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起的,这有助于提高代码的可重用性和可维护性。 可移植性:Python是开源的,因此已经被移植在许多平台上,包括Linux、Windows、macOS等。这使得Python程序可以在不同的操作系统上运行,提高了开发的便利性和灵活性。 解释性:Python是一种解释型语言,编写的程序不需要编译成二进制代码,而是可以直接从源代码执行。Pyt
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
基于java的课程智能组卷系统设计与实现.docx
基于java的农产品网上销售系统设计与实现.docx
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
前端采用的Vue框架,后端采用java语言,ssm框架,mybatis操作数据源,使用软件:idea,eclipse、MySQL。完成了用户登录管理等模块的设计与实现。完成了系统数据库的设计,并基于MySQL数据库管理系统 本系统基于SSM(Spring+SpringMVC+MyBatis)框架,适用于毕业设计, 基于B/S模式, mysql数据库,感兴趣的朋友们可以下载研究一下。 jdk版本:jdk1.8+ 前端:vue.js+ElementUI 开发工具:IDEA 或者eclipse都支持 编程语言: java 框架支持:ssm 数据库: mysql 版本不限 数据库工具:Navicat/SQLyog都可以 详细技术:java+ssm+vue+MYSQL+MAVEN
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于java的家用电器销售网站设计与实现.docx
基于java的临大机械学院毕业设计管理系统设计与实现.docx
【资源说明】 1、开发环境:ssm框架;内含Mysql数据库;VUE技术 2、项目代码都经过严格调试,代码没有任何bug!下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。