用正则表达式提取下面字符串里面的指定内容

如果内容{{first.DATA}}办理单位:{{keyword1.DATA}}办理时间:{{keyword2.DATA}}办理情况:{{keyword3.DATA}}{... 如果
内容{{first.DATA}}办理单位:{{keyword1.DATA}}办理时间:{{keyword2.DATA}}办理情况:{{keyword3.DATA}}{{remark.DATA}}

如果我想把里面花括号里的.DATA前面的'first' 'keyword1' 'keyword2' 'keyword3' 'remark' 提取出来,用正则表达式来写,该怎么写?求一个详细的写法
是js的内容,需要提取的是input里面的内容
展开
 我来答
灰色52056
2016-08-01 · TA获得超过514个赞
知道小有建树答主
回答量:494
采纳率:100%
帮助的人:356万
展开全部
arr = []
arr = r'({{)(.+?)(.DATA)'
arr[0][1] = ['first']

 不知题主是什么想法,思想已经写出来了

那么我就贴完整的代码,考虑以下题主:

import re

s = '内容{{first.DATA}}办理单位:{{keyword1.DATA}}办理时间:{{keyword2.DATA}}办理情况:{{keyword3.DATA}}{{remark.DATA}}'
def reg(html_all):
    reg = r'({{)(.+?)(.DATA)(.+?)({{)(.+?)(.DATA)(.+?)({{)(.+?)(.DATA)(.+?)({{)(.+?)(.DATA)'
    all = re.compile(reg);
    alllist = re.findall(all, html_all)
    return alllist

arr = []
arr = reg(s)

print(arr[0][1],arr[0][5],arr[0][9],arr[0][13])

结果为:

追问
我需要从 html里面的 
{{first.DATA}}办理单位:{{keyword1.DATA}}办理时间:{{keyword2.DATA}}办理情况:{{keyword3.DATA}}{{remark.DATA}} 这些内容
把所有花括号里面的.DATA前面的属性提出来,或者有更多的属性,能不能把写法更加具体化一下?我刚接触,写太简单我不好理解,如果能方便留个联系QQ,我问起来比较方便
追答
你看上面更新的回答是否能解决问题了?
匿名用户
2016-08-01
展开全部
String regEx = "([\s\S]*?)";String s = "123456789";Pattern pat = Pattern.compile(regEx);Matcher mat = pat.matcher(s);boolean rs = mat.find();for(int i=1;i<=mat.groupCount();i++){  System.out.println(mat.group(i));}
追问
大兄弟,好像不对啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式