b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

在JS中使用正则表达式(两种方式)

电脑杂谈  发布时间:2020-06-15 12:15:16  来源:网络整理

js 正则表达式使用_js 怎么使用正则表达式_js正则表达式 使用

在JavaScript中使用正则表达式有两种方法. 构造正则表达式使用RegExp构造函数定义正则表达式对象. 具体的语句格式如下:

新RegExp(样式,属性);

参数模式是指定匹配模式或正则表达式对象的字符串. 参数属性是一个可选的装饰标志,包括“ g”,“ i”和“ m”三个选项,分别设置全局匹配,区分大小写匹配和多行匹配;如果参数模式是正则表达式对象,则必须省略此参数.

此函数返回一个新的RegExp对象,该对象包含指定的匹配模式和匹配标志. 示例1下面的示例使用RegExp构造函数定义一个简单的正则表达式. 匹配模式是字符“ a”,并且未设置第二个参数,因此此正则表达式只能匹配字符串中的第一个小写字母“ a”. ”,则后面的字母“ a”将不匹配.

js 正则表达式使用_js 怎么使用正则表达式_js正则表达式 使用

var r = new RegExp("a");   //构造最简单的正则表达式
var s = "JavaScript != JAVA";  //定义字符串直接量
var a = s.match(r);  //调用正则表达式执行匹配操作,返回匹配的数组
console.log(a);  //返回数组["a"]
console.log(a.index);  //返回值为1,匹配的下标位置

示例2如果要匹配字符串中的所有字母a,并且不区分大小写,则可以在第二个参数中设置g和i修饰符.

var r = new RegExp("a", "gi");  //设置匹配模式为全局匹配,且不区分大小写
var s = "JavaScript != JAVA";  //字符串直接量
var a = s.match(r);  //匹配查找
console.log(a);  //返回数组["a", "a", "A", "A"]

示例3在正则表达式中可以使用特殊字符. 以下正则表达式将匹配字符串“ JavaScript JAVA”中每个单词的首字母.

js 怎么使用正则表达式_js正则表达式 使用_js 正则表达式使用

var r = new RegExp("\\b\\w", "gi");  //构造正则表达式对象
var s = "JavaScript JAVA";  //字符串直接量
var a = s.match(r);  //匹配查找
console.log(A);  //返回数组["j", "J"]

在上面的示例中,字符串“ \\ b \\ w”表示匹配模式,“ \ b”表示单词边界,“ \ w”表示任何ASCII字符,反斜杠表示转义序列. 为了避免对Regular()构造函数产生误解,必须将所有“ \”字符替换为“ \\”,并使用双反斜杠表示斜杠本身的含义.

在脚本中动态创建正则表达式时,使用构造函数RegExp()更方便. 例如,如果用户输入了检索到的字符串js正则表达式 使用,则必须使用RegExp()构造函数在运行时创建正则表达式,并且不能使用其他方法. 示例4如果RegExp()构造函数的第一个参数是正则表达式,则可以省略第二个参数. 此时,RegExp()构造函数将创建具有相同参数的正则表达式对象.

var r = new RegExp("\\b\\w", "gi");  //构造正则表达式
var r1 = new RegExp(r);  //把正则表达式传递给RegExp()构造函数
var s = "JavaScript JAVA";  //字符串直接量
var a = s.match(r);  //匹配查找
console.log(a);  //返回数组["j", "J"]

js正则表达式 使用_js 正则表达式使用_js 怎么使用正则表达式

正则表达式直接传递给RegExp()构造函数,可以对其进行类型封装. 示例5 RegExp()也可以用作普通函数,在这种情况下,使用new运算符调用构造函数的功能是相同的. 但是,如果函数的参数是正则表达式,则它仅返回正则表达式,而不再创建新的RegExp()对象.

var a = new RegExp("\\b\\w", "gi");  //构造正则表达式对象
var b = new RegExp(a);  //对正则表达式对象进行再封装
var c = RegExp(a);  //返回正则表达式直接量
console.log(a.constructor == RegExp);  //返回true
console.log(b.constructor == RegExp);  //返回true
console.log(c.constructor == RegExp);  //返回true

正则表达式直接量使用双斜杠作为分隔符来定义正则表达式直接量. 双斜杠之间包含的字符是正则表达式字符模式. 字符模式不能使用引号,并且将符号字符放在斜杠后面的末尾. 语法如下:

/ pattern / attributes

js 怎么使用正则表达式_js正则表达式 使用_js 正则表达式使用

示例6下面的示例定义一个正则表达式直接数量,然后调用它.

var r = /\b\w/gi;
var s = "JavaScript JAVA";
var a = s,match(r);  //直接调用正则表达式直接量
console.log(a);  //返回数组["j", "J"]

在RegExp()构造函数和正则表达式直接语法中js正则表达式 使用,匹配模式的表达式不同. 对于RegExp()构造函数,它接收字符串而不是正则表达式匹配模式. 因此,在上面的示例中,RegExp()构造函数的第一个参数中的特殊字符必须用双反斜杠表示,以防止RegExp()构造函数对字符串中的字符进行转义. 同时,第二个参数中的修饰词也应用引号引起来. 在正则表达式的直接表达式中,每个字符都被定义为正则表达式,普通字符和特殊字符将被正确解释. 示例7可以在RegExp()构造函数中传递变量,但不允许在正则表达式直接量中使用.

var r = new RegExp("a" + s + "b", "g");  //动态创建正则表达式
var r = /"a" + s + "b"/g;  //错误的用法

在上面的示例中,对于正则表达式直接量,“”和“ +”都将被视为用于匹配的普通字符,而不是用于串联操作的字符和变量的语法标识符.

JavaScript正则表达式支持“ g”,“ i”和“ m”三个标志修饰符,简要说明如下. 这三个修饰符指定匹配操作的范围,大小写和多行行为,并且关键字可以自由组合.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-246183-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...