本文实例分析了js正则表达式中的单行模式与多行模式。分享给大家供大家参考。具体如下:
js正则表达式是不支持单行模式的。也就是说,不能把某段内容(有换行),采用模式修正符来处理,使整段内容当成一行来处理。
正则多行替换,需要添加/mg模式增强符。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<html>
<head>
<script type= "text/javascript" >
//正则替换链接,链接有换行
function t1(){
var con = document.getElementsByName( 'content' )[0].value; //内容里有<a href="">.....</a>,但是有换行
var reg = /<a[\s]+[\d\D]*<\/a>/g; //采用[\d\D]或[\w\W]或[\s\S]来解决不能换行问题
alert(con.replace(reg, '----' ));
}
//正则把每一行的结尾数字,换成#号---多行模式,添加/m(每行当作结尾)和/g(全局匹配)模式增强符
function t2(){
var con = document.getElementsByName( 'content' )[0].value; //写几行文字,每行以数字结尾
var reg = /\d+$/gm;
alert(con.replace(reg, '#' ));
}
</script>
</head>
<body>
<textarea rows= "5" cols= "30" name= "content" ></textarea><br />
<button onclick= "t1();" >正则替换链接(需要考虑换行情况)</button><br />
<button onclick= "t2();" >正则多行替换</button><br />
</body>
</html>
|
希望本文所述对大家的正则表达式学习有所帮助。