正则表达式\s空格,\d数字,量词+*?测试

2021年09月15日 阅读数:4
这篇文章主要向大家介绍正则表达式\s空格,\d数字,量词+*?测试,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

以前的博文中: 有正则表达式的\b、i、\g,本文再测试了空格数字和量词的匹配。
这篇只测试匹配,不替换或其余处理。
\s空格:测试实际写空格也能识别,可是不利于看出空了几个空格,能够用\s表明空格。
\d数字:匹配数字
+表明至少一个:一个或多个(不能是零个)
*表明零个或多个:一个没有,或一个或多个(有多少个都行)
?表明零个或一个:零个后一个,不能是多个(不能是多个)javascript

测试代码:java

<a href="javascript:prn_p1()">点击获取</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
  function prn_p1(){
var str1="Operation not supported on selectedprinter,selected printer,selected  printer,Selected Printer";//一个空格,无空格,两个空格,首字母大写
//都是全局匹配
//\s表明空格
console.log(str1.match(/selectedprinter/g));//无空格
console.log(str1.match(/selected printer/g));//一个空格,表达式中用空格表示
console.log(str1.match(/selected\sprinter/g));//一个空格,表达式中用\s表示i
console.log(str1.match(/selected\sprinter/ig));//一个空格,用\s表示,并忽略大小写
console.log(str1.match(/selected\s\sprinter/ig));//两个空格,表达式用\s\s两个表示

//带量词,
//+表明至少一个:一个或多个
//*表明零个或多个:一个没有,或一个或多个
//?表明零个或一个:零个后一个,不能是多个
console.log("-------------后面的是带量词的:分割线------------------");
console.log(str1.match(/selected\s+printer/ig));//至少有一个空格,忽略大小写
console.log(str1.match(/selected\s*printer/ig));//零个或多个
console.log(str1.match(/selected\s?printer/ig));//零个或一个

//\d表明数字,\b\b包裹表明单词
console.log("-----下面的是匹配的str2里的---str:clodop,clodop4,clodop40,clodop2345,--");
var str2="clodop,clodop4,clodop40,clodop2345,";
console.log(str2.match(/clodop/g));//带clodop组合的
console.log(str2.match(/\bclodop\b/g));//带clodop组合的单词\b包裹
console.log(str2.match(/clodop\d/g));//带clodop加一个数字的组合
console.log(str2.match(/\bclodop\d\b/g));//带clodop加一个数字的组合\b包裹
console.log("------下面是带量词的额 ,分割线-------");
console.log(str2.match(/clodop\d+/g));//clodop带一个或多个数字的组合的
console.log(str2.match(/clodop\d*/g));//clodop带零个或一个或多个的
//后面带多个数字组合也会截出一个或零个组合
console.log(str2.match(/clodop\d?/g));//clodop带零个或一个的组合
console.log(str2.match(/\bclodop\d?\b/g));//clodop带零个或一个的组合\b包裹
//都是全局匹配
  };
</script> 

由于里面测的比较多,因此选了两个在图示中解释。
图示:正则表达式