为了账号安全,请及时绑定邮箱和手机立即绑定

关于我的两个正则表达式问题如下所示:

关于我的两个正则表达式问题如下所示:

qq_笑_17 2022-10-27 17:13:16
[font='2' class='001'type='1'][canshu='id' fieldsn='4']上面是一个字符串,[]中的东西类似html中的属性,[]中间有未知数行,两个括号中的内容也都未知,一段文本中有未知个[](类似上面的写法)组成的内容,我的想法是找出所有的[]中的内容,并可以通过函数提取特定值.我的做法是:先匹配出[],取得[]中间的字符串,暂通过一个函数取得字符串中特定参数的值,比若我已经得到一个字符串canshu='id' fieldsn='4',我想通过函数getcanshu(fromstr,"fieldsn"),其中fromstr就是canshu='id' fieldsn='4',我想让这个函数返回4我的问题是:1.如果[]不分行可以提取,否则,俺弄不成了,也就是说如何不管是否分行都可以匹配[].2.怎样匹配canshu='id',其中id可以是空,即可以匹配canshu=''
查看完整描述

2 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

最好分几次来做。
1. 把\r\n替换掉.
2. 用: \[\s*([^\]]*)+\s*\]
获取所有[]里的数据, 比如:canshu='id' fieldsn='4'
3. 对每个数据用下面的获取: (\w+)='([^']+)'
这样可以获取每个属性段了: $1 = canshu $2=id

查看完整回答
反对 回复 2022-11-01
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

<div id=main>
[(shownav)(class='001'
type='vr' )]
</div>
<div id=footer>{footer}</div>
[(showinf)(ID1)(4)]

查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信