正则表达式常见匹配案例

匹配中文
[\u4E00-\u9FA5]
匹配空白行
\n\s*\r
匹配HTML标记
<(\S*?)[^>]*>.*?<^1>|<.*?/>
匹配URL
[a-zA-Z]+://[^\s]*
匹配国内电话(带区号的如0668-7610110)

\d{3}-\d{8}|\d{4}-\d{7}

匹配腾讯的QQ号
[1-9][0-9]{4,}
匹配中国邮政编码
[1-9]\d{5}(?!\d)

匹配身份证
\d{15}|\d{18}
匹配ip地址
\d+.\d+.\d+.\d+

从一个给定的字符串中找到想要的字符串:


public class RegexTest {
    public static void main( String args[] ){

          // 按指定模式在字符串查找
          String line = "My name is Jianguotang。I am a Android programmer.I am 21 years old";
          String pattern = "(\\D*)(\\d+)(.*)";

          // 创建 Pattern 对象
          Pattern r = Pattern.compile(pattern);

          // 现在创建 matcher 对象
          Matcher m = r.matcher(line);
          if (m.find( )) {
             System.out.println("Found value: " + m.group(0) );
             System.out.println("Found value: " + m.group(1) );
             System.out.println("Found value: " + m.group(2) );
             System.out.println("Found value: " + m.group(3) ); 
          } else {
             System.out.println("NO MATCH");
          }
       }


}

运行结果

Found value: My name is Jianguotang。I am a Android programmer.I am 21 years old
Found value: My name is Jianguotang。I am a Android programmer.I am 
Found value: 21
Found value:  years old

假设您要替换一个字母后跟一个点或逗号的所有空格

String pattern = "(\\w)(\\s+)([\\.,])";
System.out.println(EXAMPLE_TEST.replaceAll(pattern, ""));

替换标题标签之间的文本

pattern = "(?i)(<title.*?>)(.+?)()";
String updated = EXAMPLE_TEST.replaceAll(pattern, "
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值