我试图从所有三种类型的输入中获取一些文本,但无法弄清楚如何处理未引用的情况。
到目前为止我有:
name=['"](.*?)['"]
输入:
name="sometext"
name='sometext'
name=sometext
最佳答案
看起来您是 C# 开发人员,因此您可以使用第一个匹配组来确保它以相同的引号结束(因此支持 phrase="Don't forget apostrophes"
).
Regex regex1 = new Regex(@"=(?:(['""])(.*?)\1|.*)");
string text = @"
name=""don't forget me""
name='sometext'
name='sometext'
name=sometext
";
foreach (Match m in regex1.Matches(text))
Console.WriteLine (m.Groups[2].Value);
关于regex - 如何用正则表达式匹配双引号或单引号或不带引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324279/