我有这个正则表达式从HTML文档中提取元标记,但是当我将它合并到我的Web应用程序中时,它会给我带来错误.
表达是
@"<meta[\\s]+[^>]*?name[\\s]?=[\\s\"\']+(.*?)[\\s\"\']+content[\\s]?=[\\s\"\']+(.*?)[\"\']+.*?>" ;
Run Code Online (Sandbox Code Playgroud)
它有什么问题吗?
您正在使用@(逐字字符串)语法并在您发布的示例中转义斜杠.您需要删除@,或删除额外的斜杠并通过加倍来扩展双引号,然后它应该工作.
(对于它的价值,如果你将继续使用正则表达式,我建议你投资一份RegExBuddy.)
当使用字符串文字(@"")时,你不需要加倍反斜杠 - 字符串中的所有内容都被接受 - 除了双引号,需要加倍:
@"<meta[\s]+[^>]*?name[\s]?=[\s""']+(.*?)[\s""']+content[\s]?=[\s""']+(.*?)[""']+.*?>"