perl学习记录

1. =~ m/^[0-9]+$/        用于匹配正则表达式

2. my $celeise =          从键盘输入。类似于java的 new BufferedReader(new

InputStreamReader(System.in));

3. chomp($celeise); 删除$celeise中的结尾符号

4. (?:)  用这种写法的括号可以不计数在groupcount中

5. \s    在正则表达式中  匹配  所有的空白字符

6. 忽略大消息:  =~ m//i   这种正则表达式表示忽略大小写

7. 替换:  =~ s/[0-9]+/m/gi         表示将其中的数字全部替换成m,不区分大小写

8. 单词: \b\w+\b   在正则中表示匹配任意一个单词(可以在开头、中间、结尾)。

9. 环视: (?<= jeff) 表示 左侧的是jeff,    (?=jeff) 表示右侧的是jeff

    例子:      

String str = "I have 1230001234 dollars";
Pattern pattern = Pattern.compile("(?<=\\d)(?=(\\d{3})+\\b)", Pattern.CASE_INSENSITIVE); // 如果末尾不加 \\b,则不能保证是3的倍数
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
    str = matcher.replaceAll(",");
}

after replace: str = I have 1,230,001,234 dollars

10.反向引用

      

Pattern pattern = Pattern.compile("\\b([a-z]+)\\b\\s*\\n*\\b\\1\\b", Pattern.CASE_INSENSITIVE); // 查找两个相邻(包括换行)的单词

   11. 不区分大小写:(?i)content(?-i)    content不区分大小写   

12. 正则中匹配含有转义字符的方法为: opening normal* (special normal*)*      对应的正则表达式例子为:  "[^\\"]*(\\.[^\\"]*)*"     

                  原则01: special 和normal部分的开头不能匹配相同的字符

                   原则01:normal 至少能匹配一个字符

                  原则03: 

你可能感兴趣的:(perl,正则表达式)