• java 和 JS(javaScript)中的反斜杠正则转义


    首先说下为什么要转义。在正则中有些字符有特殊含义的,

    比方说

    * 可以前一个子表达式的任意次

    . 表示除“ ”之外的任何单个字符

    + 表示前一子表达式的一次或多次

    等。

    而在有些情况下,需要正则验证这些字符,比方说要验证加减乘除四个运算符号,为了告诉编译器,你要验证的是一个字符而不是正则表达式,就要对这些有特殊含义的字符进行转义,这样就有了转义这一操作。

    在java 和javascipt中,都是用反斜杠“”进行转义,然后两种语言的用法不尽相同,下面举例说明:

    1. Java中转义字符的使用

    java 中正则 一个反斜杠要用两个反斜杠表示,例如"\"表示一个反斜杠"",第一个反斜杠为转义,第二个为反斜杠本身。下面看个例子:

    Pattern pattern=Pattern.compile("\.");
    System.out.println(pattern);
    //输出 /.

    这个要验证的是点.本身

    所以要验证一个反斜杠,需要四个反斜杠\\

    Pattern pattern=Pattern.compile("\\");
    System.out.println(pattern);
    
    // 输出 \

    验证一个反斜杠字符:

    Pattern pattern=Pattern.compile("[\\]");
    System.out.println(pattern);//输出[\] 表示要验证反斜杠本身
    String a="\";
    System.out.println("a="+a);//输出a=,表示 一个反斜杠字符
    Matcher matcher=pattern.matcher(a);
    System.err.println(matcher.matches());//输出 true,验证通过

    验证任意次数1

    Pattern pattern=Pattern.compile("^1*$");//验证任意次数1
    System.out.println(pattern);//输出^[-+*/]$
    String a="1111";
    System.out.println("a="+a);//输出a=1111
    Matcher matcher=pattern.matcher(a);
    System.err.println(matcher.matches());//输出 true,验证通过验证通过            

    验证"1*"字符串

    Pattern pattern=Pattern.compile("^1\*$");//验证任意次数1
    System.out.println(pattern);//输出^1*$
    String a="1*";
    System.out.println("a="+a);//输出a=1*
    Matcher matcher=pattern.matcher(a);
    System.err.println(matcher.matches());//输出 true,验证通过

    验证+-*/

    减号放第一位,不需要转义

    Pattern pattern=Pattern.compile("^[-+*/]$");//
    System.out.println(pattern);//输出^[-+*/]$
    String a="/";
    System.out.println("a="+a);//输出a=-,表示 一减号字符
    Matcher matcher=pattern.matcher(a);
    System.err.println(matcher.matches());//输出 true,验证通过

    减号不在第一位,需要转义,原因:正则表达式中[0-9] 表示0到9任意字符

    Pattern pattern=Pattern.compile("^[+\-*/]$");//
    System.out.println(pattern);//输出^[+-*/]$
    String a="-";
    System.out.println("a="+a);//输出a=-,表示 一减号字符
    Matcher matcher=pattern.matcher(a);
    System.err.println(matcher.matches());//输出 true,验证通过

    2. js 中的正则转义

    直接用一个反斜杠即可完成转义

    var str=/^\$/;  //验证一个反斜杠
    var testStr='\';
    console.log(str.test(testStr))//输出true

    验证+-*/

    var str=/^[+-*/]$/;  //验证+-*/
    var testStr='-';
    console.log(str.test(testStr))//输出true
  • 相关阅读:
    TinyMCE 官方插件一览表(不完全)
    关于在线编辑器的选择:tinymce
    file_put_contents 错误:failed to open stream: Invalid argument 一种原因
    QQ拼音输入法 该到放弃的时候了
    Apache 配置屏蔽某些请求头
    apache EnableMMAP指令
    xwamp 目录结构设计
    Windows服务器如何选 搭建WAMP环境
    Windows安装apache2.4
    自己动手打造WEB服务器 Windows + Apache + PHP + MySQL
  • 原文地址:https://www.cnblogs.com/jackstrong/p/5980291.html
Copyright © 2020-2023  润新知