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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

yanggz

中级黑马

  • 黑马币:-84

  • 帖子:46

  • 精华:0

© yanggz 中级黑马   /  2016-9-2 23:44  /  644 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天预习正则表达式的内容,表示完全懵了啊,求大神给我通俗易懂的解释下,感激不尽!!

8 个回复

倒序浏览
正则表达式是对字符串操作的逻辑公式,这么说你可能不太明白,正则可以匹配字符串,切割字符串,替换字符串,检索字符串,很多难度爆表的字符串操作都可以用正则来做,比如将"我我我我我爱爱爱爱爱学学学学编编编程"变成"我爱学编程"
回复 使用道具 举报
正则表达式:
    (1)就是符合一定规则的字符串
        (2)常见规则
                A:字符
                        x 字符 x。举例:"a"表示字符a
                        \\ 反斜线字符。
                        \n 新行(换行)符
                        \r 回车符
                       
                B:字符类
                        [abc] a、b 或 c(简单类)
                        [^abc] 任何字符,除了 a、b 或 c(否定)
                        [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
                        [0-9] 0到9的字符都包括
                       
                C:预定义字符类
                        . 任何字符。我的就是.字符本身,怎么表示呢? \.
                        \d 数字:[0-9]
                        \w 单词字符:[a-zA-Z_0-9]
                                在正则表达式里面组成单词的东西必须有这些东西组成

                D:边界匹配器
                        ^ 行的开头
                        $ 行的结尾
                        \b 单词边界
                                就是不是单词字符的地方。
                                举例:hello world?haha;xixi
                       
                E:Greedy 数量词
                        X? X,一次或一次也没有
                        X* X,零次或多次
                        X+ X,一次或多次
                        X{n} X,恰好 n 次
                        X{n,} X,至少 n 次
                        X{n,m} X,至少 n 次,但是不超过 m 次
        (3)常见功能:
                A:判断功能
                        String类的
                        public boolean matches(String regex) 进行字符串规则的匹配
                B:分割功能
                        String类的
                        public String[] split(String regex)  字符串按照某种规则进行切割
                C:替换功能
                        String类的
                        public String replaceAll(String regex,String replacement) 字符串按照某种规则替换小串

    (4)案例
                A:判断电话号码和邮箱
                B:按照不同的规则分割数据
                C:把论坛中的数字替换为*
回复 使用道具 举报
hjr490150385 发表于 2016-9-3 09:20
正则表达式是对字符串操作的逻辑公式,这么说你可能不太明白,正则可以匹配字符串,切割字符串,替换字符串,检 ...

先谢谢了,不过还是感觉抽象
回复 使用道具 举报
NewBeeCoder 发表于 2016-9-3 22:15
正则表达式:
    (1)就是符合一定规则的字符串
        (2)常见规则

谢谢   !thank you very much
回复 使用道具 举报
yanggz 发表于 2016-9-3 23:43
谢谢   !thank you very much

互相学习
回复 使用道具 举报
是符合一定规则的字符串
        (2)常见规则
                A:字符
                        x 字符 x。举例:"a"表示字符a
                         \\ 反斜线字符。
                        \n 新行(换行)符
                        \r 回车符
                        
                 B:字符类
                        [abc] a、b 或 c(简单类)
                        [^abc] 任何字符,除了 a、b 或 c(否定)
                        [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
                        [0-9] 0到9的字符都包括
                        
                 C:预定义字符类
                        . 任何字符。我的就是.字符本身,怎么表示呢? \.
                         \d 数字:[0-9]
                         \w 单词字符:[a-zA-Z_0-9]
                                 在正则表达式里面组成单词的东西必须有这些东西组成

                D:边界匹配器
                        ^ 行的开头
                        $ 行的结尾
                        \b 单词边界
                                就是不是单词字符的地方。
                                举例:hello world?haha;xixi
                        
                 E:Greedy 数量词
                        X? X,一次或一次也没有
                        X* X,零次或多次
                        X+ X,一次或多次
                        X{n} X,恰好 n 次
                        X{n,} X,至少 n 次
                        X{n,m} X,至少 n 次,但是不超过 m 次


很有用,学习了
回复 使用道具 举报
正则表达式这里确实不大明白,感谢分享!!!!!

评分

参与人数 1黑马币 +19 收起 理由
丶旧时光I + 19 很给力!

查看全部评分

回复 使用道具 举报
我自己的理解就是正则表达式就是一个规则,看看字符串符不符合这个规则,或者利用这个规则来做什么(比如字符串切割啊,字符串的内容替换啊),就这些了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马