使用elixir从字符串中获取令牌

时间:2017-06-09 15:47:58

标签: regex elixir

我的字符串看起来像这样:

link = "<a href=\"http://localhost:5000/confirm/SFMyNTY.g3QAAAACZAAEZGF0YWIAAAsMZAAGc2lnbmVkbgYASDp-jVwB.HqUsytlpKq7h9qEQyjABS1Xv4sgwNFClB-asLYUGfyA\">Potwierdź swoje konto.</a>"

如何从confirm/之后的令牌获取?

1 个答案:

答案 0 :(得分:1)

你可以使用这样的正则表达式来实现:

Random rnd = new Random();
//Next returns a value smaller than it's argument
pars[rnd.Next(par.Length)].Append(your add);

输出:

link = "<a href=\"http://localhost:5000/confirm/SFMyNTY.g3QAAAACZAAEZGF0YWIAAAsMZAAGc2lnbmVkbgYASDp-jVwB.HqUsytlpKq7h9qEQyjABS1Xv4sgwNFClB-asLYUGfyA\">Potwierdź swoje konto.</a>"

[[_, token]] = Regex.scan(~r/confirm\/(.*?)"/, link)
IO.puts token

只要您的HTML结构保持完全相同,这将有效。正如你可能已经知道的那样,正则表达式无法解析任意HTML。