我有一个Windows例程(用C#编写),我试图移植到iOS Objective-C。它由以下使用正则表达式的代码组成:
r = new Regex(@"></div>Authors?:? "); // get start of "Authors:"
m = r.Match(page, m1.Index);
if (m.Success) {
r1 = new Regex("/\">"); // find start of actual author's name
m1 = r1.Match(page, m.Index + 16);
if (m1.Success) {
r = new Regex("</a>[<BR>]?"); // find end of author
m = r.Match(page, m1.Index + 3);
}
if (m.Success)
author.Text = page.ToString().Substring(m1.Index + 3, m.Index - (m1.Index + 3));
}
违反此HTML细分受众群:
</div>Authors: <a href="/author/Clarissa_Pinkola_Estes/">Clarissa Pinkola Estes</a>
上面的C#代码绕过了作者姓名的第一个实例,并给了我&gt;之间的字符串。和&lt;。
有没有办法使用NSScanner和regex在没有C#逻辑的情况下实现这一点(可行)?
答案 0 :(得分:-1)
也许在C#中可以使用nsscanner(我不知道)
# </div>Authors: <a href="/author/Clarissa_Pinkola_Estes/">Clarissa Pinkola Estes</a>
# ------------------------------------
# @"</div>Authors:[^<]*<[^>]+>([^<]+)</a>"
#
</div>Authors: [^<]* < [^>]+ >
( [^<]+ ) # (1)
</a>
# Capture group 1 contains 'Clarissa Pinkola Estes'