首页 > 解决方案 > 如何使用正则表达式从引号中获取字符串

问题描述

假设有一行 "link =" - direct "C:/directory/" " 我正在尝试使用正则表达式来获取 "C:/directory" - 仅不带引号 - C:/directory

Regex p = new Regex(""([^"]+)""); 

string dirs = p.Match(link).Value;

但是 dirs 字符串返回一个带引号的字符串"C:/directory",需要更正正则表达式以使该字符串不带引号

标签: c#

解决方案


var link = "- direct \"C:/directory/\"";
var p = new System.Text.RegularExpressions.Regex(@"-\s*direct\s*\""([^\""]+)\""");

var result = p.Match(link).Groups[1].Value;

System.Console.WriteLine(result);

未检测到引号 :) 您使用了“()”,因此结果显示为组数组,其中第一个元素是完全匹配的,第二个是 () 中的匹配。


推荐阅读