美文网首页
正则表达式

正则表达式

作者: Long_Dark | 来源:发表于2020-03-16 20:44 被阅读0次

1.什么是贪婪模式和非贪婪模式?

贪婪模式

一般情况下,正则表达式在匹配过程中会尽可能多的匹配

`ni hao "hello" jirengu "world"`.match(/".*"/g);  
//[""hello" jirengu "world""]

非贪婪模式

让正则表达式尽可能少的匹配,就是说一旦成功匹配不再继续尝试。在量词后加上+即可

`ni hao "hello" jirengu "world"`.match(/".*?"/g);  //[""hello" jirengu "world""] 
//[""hello"", ""world""]
字符 说明 示例
字符集/通配符 + 重复运算符 贪婪模式,匹配尽可能多的内容,能匹配多少就匹配多少 r'*(.+)*' =>能匹配 abab*
字符集/通配符 + 重复运算符 + “?” 非贪婪模式,匹配较少的内容,一旦匹配成功即退出匹配 r'*(.+)*' => <br />只能匹配 ab

重复运算符 默认是贪婪模式的;重复运算符 + ? 能够将重复运算符指定为非贪婪模式的。

2.写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名

写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

//写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)
function isValidUsername(str){
  var reg = /^\w{6,20}$/g;   //6到20位以数字开头数字结尾的字符串
  return reg.test(str)
}
var str = "1dji22.dfefgdaER32i"
var 合法 = "合法"
var 不合法 = "不合法"
var 结果 = isValidUsername(str)?console.log(合法):console.log(不合法);
console.log(str.length)   //19
console.log(结果)   //不合法

3.写一个函数isPhoneNum(str),判断用户输入的是不是手机号

//写一个函数isPhoneNum(str),判断用户输入的是不是手机号
function isPhoneNum(str){
  var reg = /^1\d{10}$/g;   //1开头,11位的数字
  return reg.test(str)
}
var str = "131111111d2"
var 是 = "是手机号"
var 不是 = "不是手机号"
var 结果 = isPhoneNum(str)?console.log(是):console.log(不是);
console.log(str.length)
console.log(结果)

4.写一个函数isEmail(str),判断用户输入的是不是邮箱

//写一个函数isEmail(str),判断用户输入的是不是邮箱
function isEmail(str){
  var reg = /^.*@{1}.*(\.){1}.*$/g;   //中间包含1个@和1个.的任意长度字符串
  return reg.test(str)
}
var str = "j*hf-5_85@email.baidu.top"
var 是 = "是邮箱"
var 不是 = "不是邮箱"
var 结果 = isEmail(str)?console.log(是):console.log(不是);
console.log(str.length)  
console.log(结果)   //是邮箱

5.写一个函数trim(str),去除字符串两边的空白字符

//写一个函数trim(str),去除字符串两边的空白字符
function trim(str){
  var reg = /^\s*|\s*$/g;   //开头和结尾有多少个空白符都去掉
  return str.split(reg)
}
var str = "   djf iuh df jd "
var s = trim(str).join('')
console.log(s)  //djf iuh df jd

6. 以下分别是什么意思

\d   //数字字符
\w   //单词字符
\s   //空白符
[a-zA-Z0-9]   //包含0-9 a-z A-Z的字符
\b   //单词边界  匹配一个单词的边界,就是位于单词字符\w和非单词字符\W之间的位置,或者\w和他开头或者结尾之间的位置
.   //除换行符号和其他unicode行终止符外任意字符
*   //匹配前一项0次或者多次 等价于{0,}
+   //匹配前一项1次或者多次 等价于{1,}
?   //匹配前一项0次或者1次,等价于{0,1}
x{3}  //匹配x3次
^   //在[]内是取反,在[]外是表示匹配字符串的开头,在多行检索中,匹配一行的开头
$   //表示匹配字符串的结尾,在多行检索中,匹配一行的结尾

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/vtznehtx.html