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

(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="[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\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/>[^\n\r]表示不是换行

  • regex="([^\n\r]*)";

  • regexMutip="";

  • }else{

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

  • regexMutip="+";

  • }

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

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

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

  • if(cr.equals("\\r\\n")){

  • chinese=input.replaceAll("(\r\n)"+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("(\n\r)"+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;

  • }

  • 正则表达式的一些常用场景的更多相关文章

    1. HTML5 input新增type属性color颜色拾取器的实例代码

      type 属性规定 input 元素的类型。本文较详细的给大家介绍了HTML5 input新增type属性color颜色拾取器的实例代码,感兴趣的朋友跟随脚本之家小编一起看看吧

    2. 移动HTML5前端框架—MUI的使用

      这篇文章主要介绍了移动HTML5前端框架—MUI的使用的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    3. 使用placeholder属性设置input文本框的提示信息

      这篇文章主要介绍了使用placeholder属性设置input文本框的提示信息,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    4. Bootstrap File Input文件上传组件

      这篇文章主要介绍了Bootstrap File Input文件上传组件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    5. HTML5数字输入仅接受整数的实现代码

      这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    6. HTML5中input输入框默认提示文字向左向右移动的示例代码

      这篇文章主要介绍了HTML5中input输入框默认提示文字向左向右移动,本文通过实例代码给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    7. ios – 使用大写符号在字符串swift中获取URL的正则表达式

      我尝试在文本中获取URL.所以,在此之前,我使用了这样一个表达式:但是当用户输入带有大写符号的URL时(例如Http://Google.com,它与它不匹配)我遇到了问题.我试过了:但什么都没发生.解决方法您可以使用正则表达式中的i内联标志关闭区分大小写,有关可用正则表达式功能的详细信息,请参阅FoundationFrameworkReference.(?ismwx-ismwx)Flagsetti

    8. ios – 如何在Swift 3中使用正则表达式?

      解决方法我相信.当没有其他选项适用时,将使用.allZeros.因此,使用Swift3,您可以传递一个空的选项列表或省略options参数,因为它默认为无选项:要么请注意,在Swift3中,您不再使用error参数.它现在抛出.

    9. ios – lldb断点在类目标c中的所有方法

      如何使用lldb在ObjectiveC类中的所有方法上自动设置断点?

    10. swift的正则表达式(NSRegularExpression)

      init(_pattern:String){varerror:NSError?

    随机推荐

    1. 法国电话号码的正则表达式

      我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

    2. 正则表达式 – perl分裂奇怪的行为

      PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

    3. 正则表达式 – 正则表达式大于和小于

      我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

    4. 如何使用正则表达式用空格替换字符之间的短划线

      我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

    5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

      有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

    6. 正则表达式 – 在Scala中验证电子邮件一行

      在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

    7. 正则表达式对小字符串的暴力

      在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

    8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

      isthedelimiter,thenthematch-only-onceruleof?PATTERN?

    9. 正则表达式 – 替换..与.在R

      我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

    10. 正则表达式 – 如何在字符串中的特定位置添加字符?

      我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

    返回
    顶部