麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

VBS正則表達式對象的MultiLine屬性

2020-07-26 11:49:48
字體:
來源:轉載
供稿:網友

在 Introduction to Regular Expressions(正則表達式簡介) 一章中的 Backreferences(向后引用)一節(jié):

復制代碼 代碼如下:

'使用上面所示的正則表達式,下面的 JScript 代碼可以使用子匹配信息,在一個文字字符串中將連續(xù)出現兩次的相同單詞替換為一個相同的單詞:
var ss = "Is is the cost of of gasoline going up up?./n";
var re = //b([a-z]+) /1/b/gim; //創(chuàng)建正則表達式樣式。
var rv = ss.replace(re,"$1"); //用一個單詞替代兩個單詞。最接近的等價 VBScript 代碼如下:

Dim ss, re, rv
ss = "Is is the cost of of gasoline going up up?." & vbNewLine
Set re = New RegExp
re.Pattern = "/b([a-z]+) /1/b"
re.Global = True
re.IgnoreCase = True
re.MultiLine = True
rv = re.Replace(ss,"$1")請注意在 VBScript 代碼中,全局、大小寫敏感性以及多行標記都是使用 RegExp 對象的適當屬性來設置的。


需要注意的是 VBScript 中多行標記和 Perl 兼容的正則表達式中的多行標記并不完全一樣:

如果 multiline 為 false,那么 "^" 匹配字符串的開始位置,而 "$" 匹配字符串的結束位置。如果 multline 為 true,那么 "^" 匹配字符串開始位置以及 "/n" 或 "/r" 之后的位置,而 "$" 匹配字符串結束位置以及 "/n" 或 "/r" 之前的位置。

而在 Perl 中,如果設置了多行標記,"^" 匹配字符串開始位置以及 "/n" 之后的位置,而 "$" 匹配字符串結束位置以及 "/n" 之前的位置。也就是 Perl 兼容的正則表達式并不匹配 "/r",這跟 Linux 系統(tǒng)中文本的換行符與 Windows 系統(tǒng)中不一樣有關。Linux 系統(tǒng)中文本的換行符為 "/n",而 Windows 系統(tǒng)中為 "/r/n",這就導致了正則表達式的不同。

VBS 正則表達式 MultiLine 屬性的這個特性可能會導致某些問題,所以在用 VBS 正則表達式處理文本時我一般會先把 "/r/n" 替換成 "/n":
復制代碼 代碼如下:

Dim fso, str
Set fso = CreateObject("scripting.filesystemobject")
str = fso.OpenTextFile("demon.txt")
str = Replace(str, vbCrLf, vbLf)

原文: http://demon.tw/programming/vbs-regexp-multiline.html

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线观看国产一区二区三区 | 欧美91看片特黄aaaa | 免费视频观看 | china对白普通话xxxx | 日本欧美一区二区三区在线播 | 精品一区二区三区免费 | 色人久久| 国产成人综合在线观看 | 欧美精品一区二区三区四区 | 中文字幕国 | 日韩精品网站在线观看 | 色的综合 | 色阁五月 | 欧美性生交xxxxx久久久缅北 | 午夜精品成人 | 国产免费视频在线 | 欧美色视 | 色99999| 午夜影视一区二区 | 永久免费黄色大片 | h色网站在线观看 | 国产午夜亚洲精品理论片大丰影院 | 亚洲成人播放 | 久久91精品国产91久久yfo | 一级毛片免费在线 | 久久久精品综合 | 夜间福利视频 | 久久国产精品系列 | 欧美激情性色生活片在线观看 | 天天黄色片 | 成片免费观看大全 | 二区国产| 神马福利网 | 黄色伊人网站 | 国产成人视屏 | av在线更新| 日韩视频一二三 | 亚洲午夜网站 | 免费国产自久久久久三四区久久 | 欧美1 | 欧洲黄视频|