RegExp 对象的三个方法:compile()、exec()、test()
这三个都是RegExp对象下的三个方法,使用方法是一致得。
使用方法:RegExpObject.方法()
方法解析:其实就是根据定义好的正则对象,调用对应的方法。
1.RegExpObject.compile(RegExp,modifier)
modifier 规定匹配的类型。"g" 用于全局匹配,"i" 用于区分大小写,"gi" 用于全局区分大小写的匹配。
compile用于改变和重新编译正则表达式。
var str="Every man in the world! Every woman on earth!"; patt=/man/g;
str2=str.replace(patt,"person");
document.write(str2+"<br />"); patt=/(wo)?man/g;
patt.compile(patt);
str2=str.replace(patt,"person");
document.write(str2);
输出:
Every person in the world! Every woperson on earth!
Every person in the world! Every person on earth!
对patt正则进行重新编译赋给patt
先是用person替换了man,然后重新定义patt正则,加了wo ,之后再次替换,这样man和woman都被替换掉了,其实可以直接写/(wo)?man/g这个正则,就能全部替换了。
2.RegExpObject.exec(string)
这个方法用于检索字符串中的正则表达式的匹配。匹配成功有值的话返回一个数组,里头存放匹配的结果,如果没找到匹配项则返回null.
var str = "Visit W3School";
var patt = new RegExp("W3School","g");
console.log(patt.exec(str))
输出:["W3School"]
在str字符串中查找patt正则定义字符串,找到返回字符串数组
3.RegExpObject.test(string)
test方法跟exec的区别就是返回值不同,exec找到返回值数组,test找到返回true,没找到返回false
var str = "Visit W3School";
var patt1 = new RegExp("W3School");
console.log(patt1.test(str))
输出:true
RegExp 对象的三个方法:compile()、exec()、test()的更多相关文章
- RegExp对象的三个方法
RegExp 对象有 3 个方法:test().exec() 以及 compile(). test( ) test()方法检索字符串中的指定值.返回值是true或false. 例子: 因为字符 ...
- JavaScript RegExp 对象的三种方法
JavaScript RegExp 对象有 3 个方法:test().exec() 和 compile().(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 tr ...
- JS中的RegExp对象常用属性和方法
JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例.有两种方式可以创建RegExp对象的实例. 使用RegExp的显式构造函数 ...
- javascript生成对象的三种方法
/** js生成对象的三种方法*/ // 1.通过new Object,然后添加属性 示例如下: var people1 = new Object(); people1.name = 'xiaohai ...
- JS中正则匹配的三个方法match exec test的用法
javascript中正则匹配有3个方法,match,exec,test: match是字符串的一个方法,接收一个RegExp对象做为参数: match() 方法可在字符串内检索指定的值,或找到一个或 ...
- 获取class对象的三种方法以及通过Class对象获取某个类中变量,方法,访问成员
public class ReflexAndClass { public static void main(String[] args) throws Exception { /** * 获取Clas ...
- 回忆(一):反射中获得class对象的三种方法
package reflex; /* * 反射:就是通过class文件对象 去使用该文件中的成员 * 变量,构造方法,成员方法. * * Person p = new Person(); p.使用 * ...
- JavaScript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()
第一种:alert()方法 alert()方法是这三种对话框中最容易使用的一种,她可以用来简单而明了地将alert()括号内的文本信息显示在对话框中,我们将它称为警示对话框,要显示的信息放置在括号内, ...
- Android中传递对象的三种方法
Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Android中,Activity和Fragment之间传递对象,可以通过将对象序列化并存入Bundle或者I ...
随机推荐
- Neo4j 两种索引Legacy Index与Schema Index区别
Legacy Indexes 在Neo4j 2.0版本之前,Legacy index被称作indexes.这个索引是通过外部图存储在外的Lucene实现,允许“节点”和“联系”以key:value键值 ...
- strncpy基本用法
见百度百科. 注意这句话: (c/c++)复制src中的内容(字符,数字.汉字....)到dest,复制多少由num的值决定,返回指向dest的指针.如果遇到null字符('\0'),且还没有到num ...
- php wampserver 80 端口无法开启的解决方法
下载Microsoft Visual C++ 2005 Redistributable Package x86 和 x64(vc_redist.x86.exe/vc_redist.x64.exe) 安 ...
- The Run-Time Constant Pool The Constant Pool
http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4 http://docs.oracle.com/javase ...
- .Net , 请取服务器上的文件
public class IdentityScope : IDisposable { /// <summary> /// 登录一个新用户 /// </summary> /// ...
- LeetCode "Binary Tree Level Order Traversal II" using DFS
BFS solution is intuitive - here I will show a DFS based solution: /** * Definition for a binary tre ...
- HackerRank "Larry's Array"
I caught the sparkle in my mind and got AC1 ! It is a great great experience ! So the basic idea: pe ...
- 基于Spring框架的Shiro配置
一.在web.xml中添加shiro过滤器 <!-- Shiro filter--> <filter> <filter-name>shiroFilter</ ...
- DevExpress中GridView上的右键菜单
1. 先拖一个PopupMenu和BarManage控件,设置PopupMenu的Manager属性为BarManager. 2. 先选中GridView,不是GridControl,在属性窗口中,选 ...
- [HTML5]a标签禁止嵌套使用
a标签内部不可再写a标签,否则会与父a标签解析到同一级.