c# - 如何使用正则表达式从引号中获取字符串
问题描述
假设有一行 "link =" - direct "C:/directory/" " 我正在尝试使用正则表达式来获取 "C:/directory" - 仅不带引号 - C:/directory
Regex p = new Regex(""([^"]+)"");
string dirs = p.Match(link).Value;
但是 dirs 字符串返回一个带引号的字符串"C:/directory"
,需要更正正则表达式以使该字符串不带引号
解决方案
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);
未检测到引号 :) 您使用了“()”,因此结果显示为组数组,其中第一个元素是完全匹配的,第二个是 () 中的匹配。
推荐阅读
- angular6 - 如何动态更新 ng2-smart-table 的自定义部分?
- html - @media 当最大宽度更小时没有改变任何东西?
- coq - 在 Coq 中使用空格和花括号设置理论符号
- react-native - React Native 如何在“onPress”之后播放声音?
- hyperledger-fabric - docker-compose 中的 Hyperledger explorer 无法与 Hyperledger 区块链一起使用
- reactjs - “对象作为 React 子项无效(找到:带有键 {} 的对象)。”
- vue.js - Laravel 5.6 + vue.js 应用路由器 + laravel 护照
- javascript - Google Autosuggest 地址从 Javascript 更改为 Jquery
- java - JAVA_HOME环境变量定义不正确,但是定义正确!Ubuntu 18.04.01
- node.js - dynamodb 通过 id 数组获取所有项目