发表日期: 2022-07-22 09:11:51 浏览次数:57
avaScript RegExp 对象
RegExp:是正则表达式(regular expression)的简写。
完整 RegExp 对象参考手册
请查看我们的 JavaScript RegExp 对象的参考手册,其中提供了可以与字符串对象一同使用的所有的属性和方法。
这个手册包含的关于每个属性和方法的用法的详细描述和实例。
什么是 RegExp?
正则表达式描述了字符的模式对象。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。
语法
var patt=new RegExp(pattern,modifiers);
或更简单的方法
var patt=/pattern/modifiers;
模式描述了一个表达式模型。
修饰符(modifiers)描述了检索是否是全局,区分大小写等。
注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:
var re = new RegExp("\\w+");
var re = /\w+/;
RegExp 修饰符
修饰符用于执行不区分大小写和全文的搜索。
i - 修饰符是用来执行不区分大小写的匹配。
g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
实例 1
在字符串中不区分大小写找"runoob"
var str = "Visit RUnoob";
var patt1 = /runoob/i;
以下标记的文本是获得的匹配的表达式:
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878
首先感谢@学神之女的分析和经验分享,在这里做一点小小的纠正,如果有误,希望读者提出。
随机生成字符的另一种玩法。
根据笔者的这段代码:
下面的这行代码:
应该修改为:
随机从数组中取出一个东东。
修改为:
这样比较符合对象的一般调用方式。
进步啊少年
690***159@qq.com
wildWolf
479***20@qq.com
受到楼上二位的启发,想到在 a 大于 b,且都是整数的情况下:[a , b] 或者 [a , b) 或者 (a, b] 或者(a, b) 之间的随机整数。其实都可以转化为 [a, b) 类型。
现在从数学的角度给 出[a , b) 之间随机数的推导过程,或许有启发:
wildWolf
479***20@qq.com
littledragonsdfs
193***2769@qq.com
纠正一下三楼的推导过程:
得出结论:Math.random()*(b-a)+a -----------才是[a,b] 之间的随机数。
littledragonsdfs
193***2769@qq.com
小柯柯来康康
177***0972@qq.com
看到最后的同学写的结论,确实是三楼漏了个a
正确的式子应该是Math.floor( Math.random() * (b-a)+a)
但不应该是包含a和b的式子
若要包含则应改为:Math.floor(Math.random() * (max - min + 1)) + min
虽然这个1不知道怎么推导的,记住是对的就行。
小柯柯来康康
177***0972@qq.com
子辰
191***4758@qq.com
规律是:
1. [a, b) => Math.floor(Math.random()*(b-a)+a);
2. 要想找到 [a, b],我们可以先找 [a, b+1),这两个区间是等效的
3. 那么,我们就可以根据1的规律来找到 [a, b]
4. Math.floor(Math.random() * (b+1 - a) + a);
子辰
191***4758@qq.com