美文网首页
正则表达式

正则表达式

作者: 北风知我意 | 来源:发表于2018-07-17 10:13 被阅读11次

    .是一个元字符,匹配除了换行符以外的任意字符。

    *同样是元字符,.*连在一起就意味着任意数量的不包含换行的字符。

    这里的\d是个新的元字符,匹配一位数字(0,或1,或2,或……)。-不是元字符,只匹配它本身(或者减号,或者中横线)

    举例1:0\d{2}-\d{8} 相当于 0\d\d-\d\d\d\d\d\d\d\d匹配这样的字符串:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字(也就是中国的电话号码。当然,这个例子只能匹配区号为3位的情形)。

    \b是正则表达式规定的一个特殊代码,即单词分界处

    举例2:\bhi\b.*\bLucy\b的意思就很明显了:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。

    元字符:\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。

    \w匹配字母或数字或下划线或汉字等。

    举例3:\d+匹配1个或更多连续的数字。而+则匹配重复1次或更多次。

    元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。

    举例4:^\d{5,12}$。要求你填写的号必须为5位到12位数字

    字符转义:得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\

    中括号:[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。

    举例5:[0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)。

    QRegExp exp("[.?!+*]"); // super 把这些字符都去掉。Windows目录禁止九个字符\/:*?"<>|

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/gulwpftx.html