Regex来标识编码字符串



我需要在下面的实现中获得SAMLRequest的值。要做到这一点,我需要知道确切的Regex适合这一点。请与我分享确切的Regex,以确定SAMLRequest字段的值。。

string value = @" <html><head><title>Testing...</title></head><body><form method='POST' name='hiddenform' action='https:/gmail.com'><input type='hidden' name='SAMLRequest' value='SGVsbG8gV29ybGQuLkkgYW0gZ29pbmcgdG8gVFJZIGVuY29kaW5n==' /><input type='hidden' name='RelayState' value='cec5effd-7fb4-40ba-a7ac-795917b5d069' /><noscript><p>Script is disabled. Click Submit to continue.</p><input type='submit' value='Submit' /></noscript></form><script language='javascript'>window.setTimeout('document.forms[0].submit()', 0);</script></body></html> <html><head>";

非常感谢在这方面的任何帮助。。

Regex不是从html中提取信息的非常可靠的方法,不应使用。让我解释一下。

您可以使用像(?<=name='SAMLRequest' value=')[^']+这样的正则表达式,它似乎适用于这个特定的测试用例。

然而,这是一个非常脆弱的解决方案。想象一下,如果html从'变为",或者重新排列属性,如(<input type='hidden' name='SAMLRequest' value='PHNh...变为<input name="SAMLRequest" type="hidden" value="PHNh...

然后,您节省的时间(通过使用regex而不是html解析器)就成了麻烦。祝你好运

最新更新