2014-01-17 74 views
0

我需要找到这些变量id, type, qualityname在这些字符串的值用括号{ ... },开始,与$1, $2, $3, $4使用Dreamweaver中正则表达式查找并在Adobe取代Dreamweaver中

例如,两个原始取代的textarea行:

{"id":999,"image":"NEW1_018","set":3,"quality":1,"icon":"inv_misc_ticket_tarot_beasts_01","type":4,"cost":2,"attack":2,"health":3,"race":23,"collectible":1,"name":"Bloodsail Raider","description":"Battlecry: Gain Attack equal to the Attack of your weapon.",popularity:919}, {"id":749,"image":"EX1_012","set":3,"icon":"inv_misc_ticket_tarot_beasts_01","type":4,"faction":3,"quality":5,"cost":2,"attack":1,"health":1,"elite":1,"collectible":1,"name":"Bloodmage Thalnos","description":"Spell Damage +1. Deathrattle: Draw a card.",popularity:1538},

但是,如果我找到textarea的在Dreamweaver中使用{"id":(.*?),(.*?)type":(.*?),(.*?)quality":(.*?),(.*?)name":"(.*?)"(.*?)},,有时选择更多的则1行,为什么呢?

我做错了什么?

感谢

编辑:值id, type, quality和括号之间name将永远存在其他值可能会或可能不会

+0

我只是一个业余爱好者,如果有人可以写一个正则表达式所需 – Edoras

回答

1

我不知道的Dreamweaver,但你可以尝试匹配的行开始并明确终止:

^{"id":([^,]*?),(.*?)((type":([^,]*?),(.*?)quality":([^,]*?))|((.*?)quality":([^,]*?),type":([^,]*?))),(.*?)name":"([^,]*?)"(.*?)},$ 
+0

感谢,同样的问题,有时会选择2行,但也许我知道的问题,有时是质量BEF矿石类型,你知道我的意思吗?你能解决它吗? – Edoras

+0

我刚刚尝试过使用'(|)'例如:'{“id”:(。*?),(。*?)(type“:(。*?),(。*?)quality”:(。 ?。?。?*)|质量 “?。?(*),(*)输入”:(*)),(*)的名字 “:”(*)“(*)},。?。? '这个工作正常,只选择一行,但是我怎么才能从'id,quality,type和name'获得'$ 1,$ 2'等的价值? – Edoras

+0

这是一个好方法...我也是这样做的我现在编辑的,你只有更多的组,所以你不得不跳过一些数字......你可能需要使用命名组:http://www.regular-expressions.info/named.html, –

相关问题