javascript 的perl类型的正则表达式
来源:互联网 发布:淘宝联盟领券链接 编辑:程序博客网 时间:2024/05/07 20:24
(1)var recat = new RegExp("cat"); //简单定义。
var recat = new RegExp("cat","gi");//g->global,i->case insensitive.
var recat = /cat/gi; //perl模式
(2)var sToMatch = "cat";
var reCat = /cat/;
alert(reCat.test(sToMatch)); //true
var sToMatch = "a bat, a cat, a Fat Cat, a faT caT";
var reAt = /at/;
var arrMatches = reAt.exec(sToMatch); //只返回第一个at出现的实例,bat. 注意这里使用exec时,参数是原字符串
var sToMatch = "a bat, a cat, a Fat Cat, a faT caT";
var reAt = /at/gi;
var arrMatches = sToMatch.match(reAt); //这里使用match时候,参数是正则表达式
var sToMatch = "a bat, a cat, a Fat Cat, a faT caT";
var reAt = /at/gi;
alert(sToMatch.search(reAt)); //这里和indexOf()有些相似 ,输出3
(3)var sToChange = "The sky is blue. ";
alert(sToChange.replace("blue","gray")); //output "The sky is gray. "
var sToChange = "The sky is blue. ";
var reRed = /red/;
var sResultText = sToChange.replace(reRed,function(sMatch){ //这里replace()的第二个参数是一个匿名函数,该
return "blue"; //匿名函数接受的参数sMatch表示匹配上的字符串。
});
alert(sResultText);
(4)var sColor = "red,blue,green,black";
var arrColors = sColor.split(",");
var reComma = //,/;
var arrColors = sColor.split(reComma);
(5)元字符:
( { [ / ^ $ | ) ? * + . ,
var reQMark = //?/;
var reQMark = new RegExp("//?");
特殊字符:
var sColor = "blue";
var reB = //x62/; //ASCII码
alert(reB.test(sColor));
var sColor = "blue";
var reB = //u0062/; // unicode 的4位十六进制
alert(reB.test(sColor)); //true,
其他的很多特性与perl的非常相似。
比如:量词 ? * + {n} {n,m} {n,}
贪婪 * + ? .*?与perl相同
分组
反向引用
(1) (A?(B?(C?)))
(2) (B?(C?))
(3) (C?)
候选
var color = "red";
var reRed = /(red|black)/;
alert(reRed.test(color));
var replaceBadWords = /badword|anotherbadword/gi;
var userInput = "This is a string using badword1 and badword2";
var finalText = userInput.replace(replaceBadWords,"****");
非捕获性分组
?:
无法使用$1来进行捕获
var reg = /(?:/d+)/; //这里的$1为空
前瞻(lookahead)
var sToMatch1 = "bedroom";
var sToMatch2 = "bedding";
var reBed = /(bed(?=room))/;
alert(reBed.test(sToMatch1)); //true
alert(RegExp.$1); //bed
alert(reBed.test(sToMatch2)); //false
边界(^ $ /b /B),多行(m)
实例属性(RegExp)
global,ignoreCase,lastIndex,multiline,source(正则表达式的源字符串形式)
静态属性
$_(最后用于匹配的字符串,传递给exec(),test()的字符串), (input)
$&(最后匹配的字符) (lastMatch)
$+(最后匹配的分组) (lastParen)
$`(上次匹配的前面的子串) (leftContext)
$*(指定所有的表达式使用多行模式的布尔值) (multiline)
$' (上次匹配之后的子串) (rightContext)
var sToMatch = "this has been a short, short summer";
var reShort = /(s)hort/g;
reShort.test(sToMatch);
alert(RegExp.input); //"this has been a short, short summer"
alert(RegExp.leftContext); //"this has been a "
alert(RegExp.rightContext); //", short summer"
alert(RegExp.lastMatch); //"short"
alert(RegExp.lastParen); //"s"
alert(RegExp.$_);
alert(RegExp.["$`"]);
alert(RegExp.["$&"]);...
电子邮件的验证:
/^(?:/w+/.?)*/w+@(?:/w+/.?)*/w+$/;
- javascript 的perl类型的正则表达式
- PERL下的正则表达式
- 常用的perl正则表达式
- JavaScript 的正则表达式
- JAVASCRIPT的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- JavaScript的正则表达式
- JavaScript的正则表达式
- Javascript的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- javascript的正则表达式
- JavaScript的正则表达式
- Perl中的正则表达式的用法
- Perl正则表达式的灵活应用
- 正则表达式perl语言的文字处理模式
- linux线程的挂起与恢复
- Preferred Domain
- SQLServer : EXEC和sp_executesql的区别
- 是否愿意把我介绍给你的家人朋友?
- Costing Variants Configuration
- javascript 的perl类型的正则表达式
- 用控件(CMSComm)进行串口编程
- (转)内存映射文件之剖析
- 我的分!!!!!!!
- 高性能web开发 - 如何加载JS,JS应该放在什么位置?
- Oracle 9i EXP XDB.DBMS_XDBUTIL_INT must be declared
- VSS
- Android Intent
- [转载] 答复:我不会OOO,仍然可以XXX