一直以来,我都是用 New RegExp 来创建正则表达式对象的:
Set regex = New RegExp然而最新才发现 VBS 的正则表达式对象也可以这样创建:
Set regex = CreateObject("VBScript.RegExp")貌似我看过的 VBScript 书籍没有一本介绍过这种写法,当然,书上没写的东西还有很多。
既然提到了正则表达式,那么就顺便说一下,VBS 的正则表达式对象是支持 MultiLine 模式的,对象有一个 MultiLine 属性。运行 Visual C++ 自带的 OLE View,左边树展开 Type Libraries,找到 Microsoft VBScript Regular Expressions 5.5,可以看到该 COM 对象的属性和方法:
复制代码 代码如下:
interface IRegExp2 : IDispatch {
[id(0x00002711), propget]
HRESULT Pattern([out, retval] BSTR* pPattern);
[id(0x00002711), propput]
HRESULT Pattern([in] BSTR pPattern);
[id(0x00002712), propget]
HRESULT IgnoreCase([out, retval] VARIANT_BOOL* pIgnoreCase);
[id(0x00002712), propput]
HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
[id(0x00002713), propget]
HRESULT Global([out, retval] VARIANT_BOOL* pGlobal);
[id(0x00002713), propput]
HRESULT Global([in] VARIANT_BOOL pGlobal);
[id(0x00002717), propget]
HRESULT Multiline([out, retval] VARIANT_BOOL* pMultiline);
[id(0x00002717), propput]
HRESULT Multiline([in] VARIANT_BOOL pMultiline);
[id(0x00002714)]
HRESULT Execute(
[in] BSTR sourceString,
[out, retval] IDispatch** ppMatches);
[id(0x00002715)]
HRESULT Test(
[in] BSTR sourceString,
[out, retval] VARIANT_BOOL* pMatch);
[id(0x00002716)]
HRESULT Replace(
[in] BSTR sourceString,
[in] VARIANT replaceVar,
[out, retval] BSTR* pDestString);
};
但是很多书上并没有介绍,VbsEdit 的自动完成功能中也没有提示 MultiLine 属性,甚至微软官方的参考手册上也没有。
最后举个简单的例子,假如你想把文本中的空行删除,可以用下面的代码:
复制代码 代码如下:
'Author: Demon
'Link: http://demon.tw/programming/vbs-regexp-object.html
'Date: 2011/12/26
Dim fso, regex, str
Set fso = CreateObject("Scripting.FileSystemObject")
Set regex = CreateObject("VBScript.RegExp")
str = fso.OpenTextFile("demon.txt").ReadAll
regex.Global = True
regex.MultiLine = True
regex.Pattern = "^\s*\n"
str = regex.Replace(str, "")
'相当于JavaScript中的 str = str.replace(/^\s*\n/gm, "")
fso.OpenTextFile("demon.txt", 2).Write str
原文来自:http://demon.tw/programming/vbs-regexp-object.html
相关推荐:
AI写作免费一键生成5000字:高效创作的革命性工具
AI撰写率:让创作变得更高效,助力内容产业腾飞,人力ai
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
文字写作AI生成工具:让创作更简单、更高效
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
SEO优化基础:让你的网站脱颖而出的秘密武器,模仿猫ai
用AI创作的文章算原创吗?深度背后的逻辑与意义
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
怎么用AI写出高质量科普文章?揭秘新时代创作利器!
洗文章AI:让内容创作变得更智能、更高效
用AI写的文章算原创吗?真相揭示,带你深度思考!
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
重生成AI:突破科技前沿,开启智能未来
ChatGPT页面怎么拖不动?解决问题的终极指南,日韩AI换脸在线观看
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
什么是SEO金融,seo是做什么的 ,ai中转程序
seo规范是什么意思,seo包括哪些内容 ,AI智能破解
SEO知道:让你的网站在搜索引擎中脱颖而出,水安建设集团网站
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
SEO实际:如何在竞争激烈的市场中脱颖而出,dz论坛seo如何设置
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
为什么“360收录”是你网站推广的必备利器,seo亚马逊
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
怎么使用AI生成文章,轻松提升写作效率!
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
ChatGPT回答是空白的背后,究竟隐藏着什么秘密?,如何用ai写作来赚钱
目前国内最好的AI人工智能软件:未来新篇章
SEO非常:如何利用SEO提升网站排名与流量,助力品牌快速成长,绥化短视频营销推广
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
优化标题:如何让你的文章更具吸引力与点击力,整站网站优化解决方案
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,助您畅享无障碍智能对话体验,ai记录人
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
seo用什么写属性写,seo属于什么 ,芭田科学施肥AI
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
GoogleGPT-引领未来智能对话的革命,灵境ai画质
SEO特点与实施策略:提升网站流量与排名的关键,定西抖音seo价格查询
用AI写科普文章:科技改变写作的未来
SEO发明:引领数字时代营销革命的力量,速卖通外贸推广网站
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
SEO教育:搜索引擎优化,开启成功职业之路,搜狗SEO排名接单
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商