当前位置: 首页 > news >正文

市委网站建设百度应用下载

市委网站建设,百度应用下载,抖音代运营合作协议书范本,做电影网站靠谱吗正则能解决不嵌套的括号内容提取问题遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式(\[[^\]]*\])可以提取中括号中的内容,以下面文本为匹配对象:PerformanceManager[第1个中…

正则能解决不嵌套的括号内容提取问题

遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式

(\[[^\]]*\])

可以提取中括号中的内容,以下面文本为匹配对象:

PerformanceManager[第1个中括号]Product[第2个中括号]<[第3个中括号]79~

匹配结果为:

0-->第1个中括号
1-->第2个中括号
2-->第3个中括号

(可以用工具测试下,网址:http://tools.jb51.net/regex/javascript )

带嵌套括号的文本处理

难度升级:如果中括号中还包含中括号,正则表达式就失去作用了,不得不另想办法,自己动手,丰衣足食。

AutoHotkey代码如下:

msg := "PerformanceManager[第1个中括号]Product[第2个中括号[中括号中包含中括号]]<[第3个中括号]79~"for k,v in ExtractMessage(msg)MsgBox % k "-->" vreturn/*** 提取中括号中内容,忽略中括号中的中括号* @param msg* @return*/    
ExtractMessage(_msg) {list := []start := 1startFlag := 0endFlag := 0msg:=StrSplit(_msg); OutputDebug % obj2str(msg)loop % msg.length(){i:=A_Indexif (msg[i] = "[") {startFlag+=1OutputDebug % "startFlag =" startFlagif (startFlag = endFlag + 1) {start := iOutputDebug % "start=" start}} else if (msg[i] = "]") {endFlag+=1OutputDebug % "endFlag =" endFlagif (endFlag = startFlag) {OutputDebug % "endFlag=" endFlaglist.Insert(SubStr(_msg,start + 1, i-start-1))}}}return list}

输出结果如下:

0-->第1个中括号
1-->第2个中括号[中括号中包含中括号]
2-->第3个中括号

算法原理

主要思路就是遍历字符串,在中括号的开始和结束位置做标记计数,如果是中括号开始位置对应的结束位置,那么开始位置和结束位置的计数是一致的,这样截取的就是一个完整的中括号的内容。

http://www.dinnco.com/news/26376.html

相关文章:

  • 新风格网站百度小说排行榜完本
  • 支付宝手机网站支付百度推广渠道代理
  • 做外贸要自己建网站吗新闻头条最新消息国家大事
  • 太原网站搜索优化网络营销推广方式有哪些
  • 文化传播网站建设搜索引擎推广的基本方法
  • 做网站过时了西安百度推广开户运营
  • 政府网站建设专业公司最新做做网站
  • 建设一个电影网站怎么做深圳市昊客网络科技有限公司
  • 深圳外贸网站定制seo运营专员
  • 成都网站制作龙兵科技网络推广工作是做什么的
  • 闵行三中网站佛山做seo推广公司
  • 嘉兴专业网站建设站长工具5g
  • 做化妆品网站怎样郑州本地seo顾问
  • 微商软件商城24小时长沙网站seo收费标准
  • 网站文章优化怎么做产品推广文章
  • 网站建设 中企动力南通企业培训机构排名前十
  • 网站建设需要哪些设备制作网站
  • 专业刷粉网站网络市场营销策划书
  • 妇产科网站建设nba最新比赛直播
  • seo招聘要求官网seo优化
  • 海外网站seo怎么做网站宣传
  • 做盗版电影网站犯法吗广州排前三的seo公司
  • 自己做网站卖什么亚洲足球最新排名
  • 腾讯云做视频网站吗乔拓云智能建站
  • 建设厅网站生成案卷生成不了网站推广经验
  • 平湖网站建设外链工具软件
  • 哪家微网站做的好天津短视频seo
  • 常州做网站要多少钱电商运营培训哪个机构好
  • 具有设计感的网站正规淘宝代运营去哪里找
  • 土巴兔全包装修怎么样seo网络优化专员