A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄成超 中级黑马   /  2013-2-15 22:05  /  1922 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //在下面这个程序中:
  2. class RegexDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. string str = "zhangshan.lisi.wangwu";
  7. String reg = "\\.";
  8. System.out.println(str.matches(reg));
  9. }
  10. }
  11. //使用字符串定义正则表达式规则中出现的“.”“\.”“\\.”各代表什么意思
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

3 个回复

倒序浏览
匹配 “.” 这个字符
回复 使用道具 举报
"."  任何字符
代码体现:
  1. public class Test1 {
  2.         public static void main(String[] args) throws IOException {

  3.                 // 用”#”替换叠词:"sdaaafghccccjkqqqqql";
  4.                 // 定义字符串
  5.                 String str = "sdaaafghccccjkqqqqql";
  6.                 // 定义规则,任意一个字符只要出现出现2次以上,使用#替换掉
  7.                 String regex = "(.)\\1+";
  8.                 // 使用规则
  9.                 String str2 = str.replaceAll(regex, "#");
  10.                 System.out.println(str2);
  11.         }
  12. }
复制代码
"\."反斜线字符 ('\') 用于引用转义
代码表现:
  1. public class Test {
  2.         public static void main(String[] args) throws IOException {

  3.                 // 切割字符串"aa,bb,cc";
  4.                 String str = "aa,bb,cc";
  5.                 // 定义规则
  6.                 String regex = ",";
  7.                 // 使用规则
  8.                 String[] strArray = str.split(regex);
  9.                 // 遍历数组
  10.                 for (String s : strArray) {
  11.                         System.out.println(s);
  12.                 }

  13.                 System.out.println("*****************************");
  14.                 // 切割字符串"aa.bb.cc";
  15.                 String str2 = "aa.bb.cc";
  16.                 // 定义规则 如果想使用字符.分割,需要转义。
  17.                 String regex2 = "\\.";
  18.                 // 使用规则
  19.                 String[] strArray2 = str2.split(regex2);
  20.                 // 遍历数组
  21.                 for (String s : strArray2) {
  22.                         System.out.println(s);
  23.                 }
  24.         }
  25. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
符号表达特殊的含义。一般会用到4种符号:字符类、预定义字符、数量词、边界匹配器。
字符类
[abc]        a、b 或 c(简单类)
[^abc]        任何字符,除了 a、b 或 c(否定)
[a-zA-Z]        a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]]        a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]]        d、e 或 f(交集)
[a-z&&[^bc]]        a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]]        a 到 z,而非 m 到 p:[a-lq-z](减去)
       
预定义字符类
.        任何字符(与行结束符可能匹配也可能不匹配)

\d        数字:[0-9]
\D        非数字: [^0-9]
\s        空白字符:[ \t\n\x0B\f\r]
\S        非空白字符:[^\s]
\w        单词字符:[a-zA-Z_0-9]
\W        非单词字符:[^\w]
数量词
X?        X,一次或一次也没有
X*        X,零次或多次
X+        X,一次或多次
X{n}        X,恰好 n 次
X{n,}        X,至少 n 次
X{n,m}        X,至少 n 次,但是不超过 m 次
边界匹配器
^        行的开头
$        行的结尾
\b        单词边界
\B        非单词边界
\A        输入的开头
\G        上一个匹配的结尾
\Z        输入的结尾,仅用于最后的结束符(如果有的话)

\z        输入的结尾

学习正则表达式要把一些基本的符号记住;"."代表任何字符(与行结束符可能匹配也可能不匹配),但是在实际操作过程中可能会出现实实际际存在的点,这时候要怎么把这个点表示出来呢?用\来转义,但\也是一个特殊符号所以还要转义\,故\往往是成对存在的

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马