正则表达式

正则表达式

  • ^ 为匹配输入字符串的开始位置。
  • [0-9]+匹配多个数字, [0-9] 匹配单个数字,+匹配一个或者多个。
  • abc$匹配字母 abc 并以 abc 结尾,$ 为匹配输入字符串的结束位置。
    • 匹配前面的子表达式零次或多次。例如,zo 能匹配 “z” 以及 “zoo”。 等价于{0,}。
  • “.”可以匹配任何一个单个的字符(包括“.”本身)。限定只匹配“.”时使用转义符号“\”,例如匹配“.”的正则表达式为“.”
  • 匹配一组字符: 符号“[”和“]”定义了一个字符集合,可以匹配“[]”之中的任意一个成员文本
    例如:[ns]a..xls
    将匹配:sales1.xls apac1.xls na1.xls sa1.xls ca1.xls
    最终 na1.xls sa1.xls匹配成功
  • “[a-z0-9]”将匹配ASCII码表a~z和0~9之间的字符集合,形如“[9-8]”则无效。
  • 字符集和中的“^”将进行取非操作,例如“[^123]”将匹配除了“123”以外的任意字符
    注意“^”必须紧跟在第一个“[”后面,并且“^”的作用于为这整个字符集合。
  • “{3}”表示必须重复3次,“{2,4}”表示出现2到4次,“{5,}”表示至少出现5次。
  • \s:任意空白字符(等价于[\f\n\r\t\v])
  • 使用子表达式,括号“(”和“)”可以将一组字符作为一个独立元素来使用,这样可以避免重复,也可以使用回溯引用功能(在查询和替换中使用同一组模式)。在子表达式中可以使用“|”来表示逻辑或判断。
    例如:(\d{1,3}.){3}\d{1,3} 等同于:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
    将匹配:ip地址字样的模式,但不能精确到ip地址范围(255以下)