• 正则表达式学习《一》


    是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。
    .是另一个元字符,匹配除了换行符以外的任意字符。*同样是元字符,不过它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复出现任意次以使整个表达式得到匹配。因此,.*连在一起就意味着任意数量的不包含换行的字符。
    \d是个新的元字符,匹配一位数字(0,或1,或2,或……)。-不是元字符,只匹配它本身——连字符或者减号。
    \s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
    \w匹配字母或数字或下划线或汉字等。
    \d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
    ^    匹配字符串的开始
    $    匹配字符串的结束
    代码/语法    说明
    *    重复零次或更多次
    +    重复一次或更多次
    ?    重复零次或一次
    {n}    重复n次
    {n,}    重复n次或更多次
    {n,m}    重复n到m次

    代码/语法    说明
    \W    匹配任意不是字母,数字,下划线,汉字的字符
    \S    匹配任意不是空白符的字符
    \D    匹配任意非数字的字符
    \B    匹配不是单词开头或结束的位置
    [^x]    匹配除了x以外的任意字符
    [^aeiou]    匹配除了aeiou这几个字母以外的任意字符
    在方括号里列出它们就行了,像[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。

    我们也可以轻松地指定一个字符范围,像[0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)。




  • 相关阅读:
    HDU 4460 Friend Chains 第37届ACM/ICPC杭州赛区题目 (bfs求最短路,求两两之间最短路的最大值)
    HDU 4445 Crazy Tank (简单物理题,枚举)
    HDU 4433 locker 第37届ACM/ICPC 天津赛区现场赛C题(DP)
    JQuery 3级级联,3级联动,3级连动
    C++异常处理
    C++ Template
    学会用core dump调试程序错误(转)
    C++命名规则
    vim实用配置(转)
    GDB多进程调试(转)
  • 原文地址:https://www.cnblogs.com/qishiguilai/p/2889095.html
Copyright © 2020-2023  润新知