• 正则表达式简介


    • 什么是正则表达式

    正则表达式(Regular Expression)是一种文本模式,在编写处理字符串的程序或网页时,经常会有查找符合某些规则的字符串的需求。正则表达式就是用于描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码。

    一、正则表达式常用字符

    1)   常用元字符

    1. .   匹配除换行符以外的任意字符。
    2. w  匹配字母、数字、下划线。
    3. s  匹配任意的空白符。
    4. d  匹配数字。
    5.   匹配单词的开始或结束。匹配符合表达式规则,并且以英文单词的形式出现(前后有空格)。如:var reg = /abc/; 匹配"abc 123 abc abcdey abc",结果为:abc abc。
    6. ^   匹配字符串的开始(从字符串的第一个字符开始匹配),如果不指定开始和结束,将匹配字符串中任意位置的字符。如:var reg = /[1-9]{1,}/; 匹配"abc12345dey",结果为:12345。
    7. $   匹配字符串的结束(匹配到字符串的最后一个字符)。

    2)   常用限定符

    1. *       重复零次或多次。
    2. +       重复一次或多次。
    3. ?       重复零次或一次。
    4. {n}     重复 n次。
    5. {n,}    重复 n次或多次。
    6. {n,m}   重复 n次到m次。

    3)   常用反义词

    1. W      匹配任意不是字母,数字,下划线,汉字的字符。
    2. S      匹配任意不是空白的字符。
    3. D      匹配任意非数字的字符。
    4. B      匹配不是单词开头或结束的位置。
    5. [^x]    匹配除了x以外的任意字符。
    6. [^aeiou]匹配除了aeiou这几个字母以外的任意字符。
    • 特殊字符""

    1)   该字符可以将元字符转义为常量,例如:".",将元字符".",转为义为常量"."。

    2)   该字符还可以将常量转义为元字符,例如:"w",将常量"w",转为义为元字符"w"。

    二、正则表达式修饰符

    1)   /g  表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个,如果不加/g最多只会匹配一个。

    2)   /i  表示匹配字符串时不区分大小写。

    3)   /m  表示多行匹配。什么是多行匹配呢?就是匹配换行符两端的潜在匹配,映象正则中^$符号。

    三、示例

    1)   使用 [] 限定范围

    1. [abc]       字符串中某个字符出现表达式中,则匹配成功。例如匹配"1a2b3c",结果为:a b c。
    2. [a-z1-9]]   字符串中某个字符出现表达式的范围中,则匹配成功。例如匹配"ahzAZ0139@",结果为:a h z 1 3 9。
    3. [a-zA-Z0-9] 字符串中某个字符出现表达式的范围中,则匹配成功。例如匹配"ahzAZ0139@",结果为:a h z A Z 0 1 3 9。

    2)   使用 (|) 限定组

    1. Window(95|98|NT|2000)   某个字符串匹配正则表达式中的多个分组,例如匹配"Window95WindowWindow98window98WindowNT",结果为:Window95 Window98 WindowNT。

    3)   匹配中文

    1. [^x00-xff]{1,}  匹配中文字符串,例如匹配"啊1a看.~!@#$%^&*(),./][{}-+",结果为:啊 看.~! #$% &*(),./ {}-+。匹配不准确!
    2. [u4e00-u9fa5]{1,} 匹配中文字符串,例如匹配"啊1a看.~!@#$%^&*(),./][{}-+",结果为:啊 看。匹配准确!
  • 相关阅读:
    DP实验
    Linux shell学习
    线性排序算法-计数排序
    算法笔试题练习
    堆排序
    node.js初识
    linux下vim命令详解
    html5学习笔记
    有趣的参数收集
    算法学习-归并排序
  • 原文地址:https://www.cnblogs.com/abeam/p/6881935.html
Copyright © 2020-2023  润新知