Как я могу использовать Regex для доступа к этим данным
Это данные в файле JS:
[{\"value\":16633,\"name\":\"fdgdfgdf@joindiaspora.com\"},{\"value\":16910,\"name\":\"jamesw@wk3.org\"},{\"value\":16911,\"name\":\"sdasfasf@joindiaspora.com\"}]" ),
и я хочу вывести его в 2d массиве что-то вроде:
имя значения,
16633 fdgdfgdf@joindiaspora.com,
16910 jamesw@wk3.org,
16911 sdasfasf@joindiaspora.com
вот мой код до сих пор:
$.ajax
({
async: false,
type: 'GET',
url: 'https://wk3.org/conversations/new',
success: function(data)
{
var matches;
var Ragex = /\\"value\\":\\"(.*)\\",\\"name\\":\\"(.*)\\"},/g //need to sort out the REGEX so it goes through each name and ID seeing if it equals ID
while ((matches = Ragex.exec(data)) !== null)
{
console.log(matches);
}
}
});
какие выводы:
["\"value\":\"16633\",\"name\":\"fdgdfgdf@joindiaspora.com\"},…"},{\"value\":\"16910\",\"name\":\"jamesw@wk3.org\"},", "16633\",\"name\":\"fdgdfgdf@joindiaspora.com\"},{\"value\":\…"name\":\"sdasfasf@joindiaspora.com\"},{\"value\":\"16910", "jamesw@wk3.org", index: 92, input: "<script>↵ //<![CDATA[↵ $(document).ready(funct…it" value="Send" />↵</div>↵</form>↵</div>↵</div>↵"]
2 ответа
Решение
$.ajax
({
async: false,
type: 'GET',
url: 'https://wk3.org/conversations/new',
success: function(data)
{
var matches;
var name;
var regex = /{\\"value\\":\\"([^"]*)\\",\\"name\\":\\"([^"]*)\\"}/g //need to sort out the REGEX so it goes through each name and ID seeing if it equals ID
while ((matches = regex.exec(data)) !== null)
{
console.log(matches);
var name = matches[2];
if(name == ID)
{
result = matches[1];
}
else
{
console.log("FAIL");
//this sends a message to me only
//need to add error trapping saying recipient cannot be found!
}
}
}
});
Вы хотите захватить? в \":\"?\"
, право?
Я не знаком с диаспорой.
В питоне шаблон (\":\").(\")
должен сделать это