正则表达式
来源:互联网 发布:网易域名管理平台 编辑:程序博客网 时间:2024/05/19 00:40
p("192".matches("[0-2][0-9][0-9]"));p("a".matches("[abc]")); //abc中的一个即可p("a".matches("[^abc]")); //取反,除了abc之外的p("A".matches("[a-zA-Z]"));p("R".matches("[A-Z]&&[RPG]")); //取并集p("192.aaaAAA".matches("\\d{3,10}.[a-zA-z]{1,}")); //
结果:
truetruefalsetruefalsetrue
说明:
\d数字:[0-9]\D非数字: [^0-9]\s空白字符:[ \t\n\x0B\f\r]\S非空白字符:[^\s]\w单词字符:[a-zA-Z_0-9]\W非单词字符:[^\w]
p("\\".matches("\\\\"));p("g_o".matches("\\w{3}"));p(" ".matches("\\s"));p(" \n\r\t".matches("\\s{4}"));
练习3:
Pattern p = Pattern.compile("\\d{3,5}");String s = "123-45657-2345-00";Matcher m = p.matcher(s);p(m.matches()); //匹配的是整个字符串m.reset(); //把吃掉的吐出来p(m.find()); //找子串p("子串的位置在:"+m.start()+" --"+m.end());p(m.find());p(m.lookingAt()); //每次找都是从开头找
运行结果:
falsetrue子串的位置在:0 --3truetrue
Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE);//大小写不敏感的Matcher m = p.matcher("java Java JAVA YOU HATE JAVA i love jAVA tail aaaa");//while(m.find()){//p(m.group()); // 都是Matcher来操作的//}StringBuffer buf = new StringBuffer();int i=0;while(m.find()){i++;if(i%2 == 0)m.appendReplacement(buf, "java"); //此方法比 replaceAll 灵活elsem.appendReplacement(buf, "JAVA");}m.appendTail(buf);
HTML中的应用:
把所有的 <br> <br /> 等替换成回车
html = html.replaceAll("<br\\s*/*>", "\n");
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- dojo AMD规范
- Subversion安装配置教程
- 连接数据库之独孤九剑
- 第十六天(C++代码重用)
- [2_3_nocows] DP=>Search+Memorial; Solution: Boundary=Whole-Inside
- 正则表达式
- ARM 开发板 与 PC机ubuntu系统 nfs 挂载
- Quoit Design
- Android下增加service和对应的AIDL
- 将工作环境迁移到 Linux
- ORACLE 常用日期函数
- 冒泡排序
- 在eclipse中误创建了超长的文件夹而引发的“无法删除指定的文件名无效或太长”问题
- Linux slab 分配器剖析