总结1:附件参数g的用法
表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义。我们详细叙述:
1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。例如
var regx=/user\d/;
var str=“user18dsdfuser2dsfsd”;
var rs=regx.exec(str);//此时rs的值为{user1}
var rs2=regx.exec(str);//此时rs的值依然为{user1}
如果regx=/user\d/g;则rs的值为{user1},rs2的值为{user2}
通过这个例子说明:对于exec方法,表达式加入了g,并不是说执行exec方法就可以返回所有的匹配,而是说加入了g之后,我可以通过某种方式得到所有的匹配,这里的“方式”对于exec而言,就是依次执行这个方法即可。
2)对于表达式对象的test方法,加入g于不加上g没有什么区别。
3)对于String对象的match方法,不加入g,也只是返回第一个匹配,一直执行match方法也总是返回第一个匹配,加入g,则一次返回所有的匹配(注意这与表达式对象的exec方法不同,对于exec而言,表达式即使加上了g,也不会一次返回所有的匹配)。例如:
var regx=/user\d/;
var str=“user1sdfsffuser2dfsdf”;
var rs=str.match(regx);//此时rs的值为{user1}
var rs2=str.match(regx);//此时rs的值依然为{user1}
如果regx=/user\d/g,则rs的值为{user1,user2},rs2的值也为{user1,user2}
4)对于String对象的replace方法,表达式不加入g,则只替换第一个匹配,如果加入g,则替换所有匹配。(开头的三道测试题能很好的说明这一点)
5)对于String对象的split方法,加上g与不加g是一样的,即:
var sep=/user\d/;
var array=“user1dfsfuser2dfsf”.split(sep);
则array的值为{dfsf, dfsf}
此时sep=/user\d/g,返回值是一样的。
6)对于String对象的search方法,加不加g也是一样的。
总结2:附加参数m的用法
附加参数m,表明可以进行多行匹配,但是这个只有当使用^和$模式时才会起作用,在其他的模式中,加不加入m都可以进行多行匹配(其实说多行的字符串也是一个普通字符串),我们举例说明这一点
1)使用^的例子
var regx=/^b./g;
var str=“bd76 dfsdf
sdfsdfs dffs
b76dsf sdfsdf”;
var rs=str.match(regx);
此时加入g和不加入g,都只返回第一个匹配{bd},如果regx=/^b./gm,则返回所有的匹配{bd,b7},注意如果regx=/^b./m,则也只返回第一个匹配。所以,加入m表明可以进行多行匹配,加入g表明可以进行全局匹配,综合到一起就是可以进行多行全局匹配
2)使用其他模式的例子,例如
var regx=/user\d/;
var str=“sdfsfsdfsdf
sdfsuser3 dffs
b76dsf user6”;
var rs=str.match(regx);
此时不加参数g,则返回{user3},加入参数g返回{user3,user6},加不加入m对此没有影响。
3)因此对于m我们要清楚它的使用,记住它只对^和$模式起作用,在这两种模式中,m的作用为:如果不加入m,则只能在第一行进行匹配,如果加入m则可以在所有的行进行匹配。我们再看一个^的例子
var regx=/^b./;
var str=“ret76 dfsdf
bjfsdfs dffs
b76dsf sdfsdf”;
var rs=str.match(regx);
此时rs的值为null,如果加入g,rs的值仍然为null,如果加入m,则rs的值为{bj}(也就是说,在第一行没有找到匹配,因为有参数m,所以可以继续去下面的行去找是否有匹配),如果m和g都加上,则返回{bj,b7}(只加m不加g说明,可以去多行进行匹配,但是找到一个匹配后就返回,加入g表明将多行中所有的匹配返回,当然对于match方法是如此,对于exec呢,则需要执行多次才能依次返回)
总结3:在HTML的textarea输入域中,按一个Enter键,对应的控制字符为“\r\n”,即“回车换行”,而不是“\n\r”,即“换行回车”,我们看一个前面我们举过的例子:
var regx=/a\r\nbc/;
var str=“a
bc”;
var rs=regx.exec(str);
结果:匹配成功,rs的值为:{ },如果表达式为/a\n\rbc/,则不会被匹配,因此在一般的编辑器中一个”Enter”键代表着“回车换行”,而非“换行回车”,至少在textarea域中是这样的。
分享到:
相关推荐
hostapd强制40M频宽修改方法
matlab精度检验代码G2EGM 代码,以及,2017年, 《经济动力与控制学报》 ,74。 Python版本:请参阅。 自述文件 由于MATLAB MEX设置的变化,该版本的代码与本文中使用的代码有所不同。 该代码使用MATLAB 2018b针对64...
在libsvm-mat-2.89-3的基础上 加进了SVMcgForClass.m和SVMcgForRegress.m可以用grid search 的方法来寻找最佳的参数c和g,具体的介绍和使用方法看这个帖子: https://www.ilovematlab.cn/thread-47819-1-1.html 帖子...
这个参数很影响性能,如果你的程序需要比较多的临时内存,建议设置到512M,如果用的少,尽量降低这个数值,一般来说128/256足以使用了。 d: -XX:PermSize= 指定jvm中Perm Generation的最小值,如:-XX:PermSize=32m...
Windows下调整Tomcat启动... 比如,我想设置初始内存大小为128M,最多占用1G,就是下面的设置: -Xms128m -Xmx1024m 在Linux/Unix下,可以通过在 {tomcat_dir}/bin/catalina.sh 中增加或修改 JAVA_OPTS 来达到:
其它的内容凡是所有选项中m提示的,都选择m,这样可以通过手工的方式添加该模块。 ** Loadable module support*Enable loadable module support (CONFIG_MODULES) [Y/n/?]Set version information on all symbols ...
A-检波开关混频二极管、B-变容二极管、C-低频小功率三极管、D-低频大功率三极管、E-隧道二极管、 F-高频小功率三极管、G-复合器件及其他器件、H-磁敏二极管、K-开放磁路中的霍尔元件、L-高频大功率三极管、M-封闭...
常用G功能(G00、G01、G02、G03)、M功能、S、 F、T功能的作用、刀具号的指令格式。能车削轴的轮廓线。 训练:加工下面零件。 1.用基本指令编制下图所示零件的加工程序,毛坯为¢60×80,材料为45#钢。 ...
默认值 : 派生: SESSIONS 参数的值 (如果正在使用共享服务器体系结构); 否则为 0。 Mts_multiple_listeners: 说明: 指定多个监听程序的地址是分别指定的, 还是用一个 ADDRESS_LIST 字符串指定。如果该值为 TRUE, ...
我们使用扭曲梯度流(TGF)方法评估纯SU(3)规范理论的M S $$ \ overline {\ mathrm {MS}} $$方案中的Λ参数。 在具有扭曲边界条件的尺寸为L 4的有限体积框中定义了运行耦合常数g TGF 2(1 / L)。 这定义了TGF方案...
umount 命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD- ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接...
使用方法: Usage: memtester [-p physaddrbase] [B|K|M|G] [loops] 如: memtester 28G 3 #测试28G的内存3次。 因为系统运行和本工具运行都需要内存,所以不能把所有的内存都测试到。可以先用free ...
G型:48×48×100 开口:44×44 产品服务:一年包换五年保修">LU 902M双显位式调节仪 一 概述 LU 902M位式调节仪在LU 602位式调节仪的基础上 通过采用模块化结构 EMI抑制等多种技术进一步提高仪表的抗干扰能力及整体...
曾经思考过曲面求交,结果发现是学术界的一个难题,并且也想出了一个当前广泛使用方法原理一样的近似解法(追踪法)。当然网上也有很多方法,只不过那些方法非常粗糙,无非就是meshgrid出离散网格,比较两曲面在某...
用修正的线性弹性断裂力学参数M(由McEvily等人提出)来分析在不同应力比R下的短FCG行为。发现FCG速率与M参数之间的关系是有用且适当的用于预测不同R比率下的疲劳寿命。 此外,该方法可以利用FCG定律和最危险的金属...
11.关于MWAN2负载均衡,效率还不错,还支持基于session的负载均衡,使用方法见/etc/config/mwan2里面的注释。 mwan2的作者新出了mwan3,有兴趣可以去看看:https://forum.openwrt.org/viewtopic.php?id=39052 12....
用法 mkdir [-m 模式] [-p] dirname ... mkdir dir1/dir2 在dir1下建dir2 mkdir dir13 dir4 dir5 连建多个 mkdir ~/games 用户主目录下建(默认在当前目录下创建) mkdir -p dir6/dir7/dir8 强制创建dir8;若没有...
UnUTM JavaScript库从网址中删除了Urchin Traffic Monitor(UTM)参数。 安装 用Bower安装 $ bower install unutm 用法 ... [removed][removed] ... (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r
以下安装用例以商用机型为例,且仅为说明工具的使用方法,具体的文件名称和分区容量可能会与生产时的具体要求不同。 一键恢复4.6,安装方式如下: 1、使用命令行方式安装 对于带有文件备份应用,如开天: hpatool ...
参数 触发器 前 1 名 下载 循环MLP-B1 15M 2.1G 78.9% 循环MLP-B2 27M 3.9G 81.6% 循环MLP-B3 38M 6.9G 82.4% CycleMLP-B4 52M 10.1G 83.0% 循环MLP-B5 76M 12.3G 83.2% 用法 安装 PyTorch 1.7.0+ 和...