加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式的一些常用场景

发布时间:2020-12-14 00:43:49 所属栏目:百科 来源:网络整理
导读:正则表达式的一些常用场景 (1)过滤表情符号 Java代码 650) this.width=650;" class="star" src="http://img.jb51.cc/vcimg/static/loading.png" alt="收藏代码" style="border:0px;" src="http://hw1287789687.iteye.com/images/icon_star.png"> /*** *过滤

正则表达式的一些常用场景

(1)过滤表情符号

Java代码

收藏代码

  1. /***

  2. *过滤表情符号<br>

  3. *see:http://blog.csdn.net/beatrice_g20/article/details/48489437

  4. *

  5. */

  6. publicstaticStringfilterExpression(Stringstr){

  7. if(ValueWidget.isNullOrEmpty(str)){

  8. returnstr;

  9. }

  10. Stringpattern="[ud83cudc00-ud83cudfff]|[ud83dudc00-ud83dudfff]|[u2600-u27ff]";

  11. Patternemoji=Pattern.compile(pattern);

  12. MatcheremojiMatcher=emoji.matcher(str);

  13. str=emojiMatcher.replaceAll(SystemHWUtil.EMPTY);

  14. returnstr;

  15. }

应用:下载

Java代码

  • Stringanser=convention.getAnswer();

  • if(!ValueWidget.isNullOrEmpty(anser)){

  • anser=RegexUtil.filterExpression(anser);

  • convention.setAnswer(anser);

  • }

  • (2)删除重复的行(必须是相连的)

    Java代码*删除重复的行(必须是相连的)

  • staticStringdeleteDuplicateRow(Stringinput){

  • if(ValueWidget.isNullOrEmpty(input)){

  • returninput;

  • }

  • String[]rows=input.split(SystemHWUtil.CRLF);

  • List<String>stringlist=newArrayList<>();

  • for(inti=0;i<rows.length;i++){

  • stringlist.add(rows[i]);

  • }

  • //搜索结果是经过排序的,根据此规律删除不合要求File

  • 0;i<stringlist.size()-1;i++){

  • if(stringlist.get(i).equals(stringlist.get(i+1))){

  • stringlist.remove(i);

  • if(i!=0)i--;

  • }

  • }

  • returnSystemHWUtil.formatArr(stringlist,SystemHWUtil.CRLF);

  • }

  • 应用:下载

    Java代码

  • System.out.println("input:"+input);

  • StringunicodeStr=input.replace(""3e[r][n]"","").replaceAll("[[s]*0[xX][s]*([w]{2})]","%$1")

  • .replaceAll("[0[xX]([w]{1})]","%0$1");

  • //ComponentUtil.appendResult(resultTextArea,unicodeStr,true,false);

  • unicodeStr=RegexUtil.dealCiaResponseRequest(unicodeStr,true);

  • //unicodeStr=RegexUtil.dealCiaResponse(unicodeStr,Constant2.REGEX_DELETE_FRONT_OF_CIA,true);

  • //删除重复的行(必须是相连的)

  • unicodeStr=RegexUtil.deleteDuplicateRow(unicodeStr);

  • (3)驼峰标识

    Java代码*驼峰标识<br>

  • *


  • staticStringhumpMarking(Stringinput){

  • Patternp=Pattern.compile("_[a-z]");

  • Matcherm=p.matcher(input);

  • StringBuffersb=newStringBuffer();

  • booleanresult=m.find();

  • while(result){

  • StringfindResult=m.group().toUpperCase().replaceAll("^_",SystemHWUtil.EMPTY);

  • m.appendReplacement(sb,findResult);

  • result=m.find();

  • }

  • m.appendTail(sb);

  • returnsb.toString().replaceAll("_$",SystemHWUtil.EMPTY);

  • }

  • (4)把换行的段落当做字符串拼接

    Java代码下载*把换行的段落当做字符串拼接

  • staticStringsplitPlus(Stringinput,Stringcr,Stringquote,85);font-weight:bold;">booleankeepBlank){

  • input=input.replaceAll(cr+"+$","");

  • Stringchinese;

  • //Stringquote=""";

  • Stringreplacement=quote+"+SystemHWUtil.CRLF+$1"+quote+"$2";

  • Stringregex=null;

  • StringregexMutip=null;//是否匹配多个换行

  • if(keepBlank){//保持空格<br/>[^nr]表示不是换行

  • regex="([^nr]*)";

  • regexMutip="";

  • }else{

  • regex="[s]*([^s]+.*)";

  • regexMutip="+";

  • }

  • input=input.replace(quote,""+quote);//原字符串转义

  • //简单点说,就是把[换行]替换为['(单引号)+(加号)'(单引号)]

  • //所以最前面和最后面需要各补一个单引号

  • if(cr.equals("rn")){

  • chinese=input.replaceAll("(rn)"+regexMutip+regex,replacement);

  • }elseif(cr.equals("n")){

  • chinese=input.replaceAll("(n)"+regexMutip+regex,85);font-weight:bold;">if(cr.equals("r")){

  • chinese=input.replaceAll("(r)"+regexMutip+regex,85);font-weight:bold;">else{

  • chinese=input.replaceAll("(nr)"+regexMutip+regex,replacement);

  • }

  • returnquote+chinese+quote+";";

  • }

  • 应用:

    Java代码

  • returnsplitPlus(input,cr,quote,85);font-weight:bold;">false);

  • }

  • @Override

  • publicStringcallbackAdditional(Stringinput,Objectcrfl){

  • returnRegexUtil.splitPlus(input,(String)crfl,""",85);font-weight:bold;">true);

  • }

  • (5)是否包含指定字符串,不区分大小写

    Java代码*是否包含指定字符串,不区分大小写

  • staticbooleancontain2(Stringinput,Stringregex){

  • *input:(1)bss登录(2)<br>

  • regex:bss登录(2)

  • */

  • regex=regex.replace("(","(");

  • regex=regex.replace(")",")");

  • returnfalse;

  • }

  • Patternp=Pattern.compile(regex,Pattern.CASE_INSENSITIVE);

  • Matcherm=p.matcher(input);

  • returnresult;

  • }

  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读