我使用正则表达式编写了一些代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string input = @"ch/js/789747b7/scriptSearch.js"",videoJsSrc:""res/batch/js/3c9a6ee1/scriptVideo.js"",apiFormAppJSSrc:""res/batch/js/9fa7e22b/apiFormApp.js"",easyXDMJs:""res/batch/js/8f3e66db/easyXDM.min.js"",nativeHooksSrc:""res/batch/js/539ea638/nativeHooks.js"",gwtHash:""1bcb94eb"",jsessionId:";
Match output = Regex.Match(input, @"gwtHash:""(.*?)""").Value;
Console.WriteLine(output);
Console.ReadKey();
}
}
}
但是我收到此错误:
Error 1 Cannot implicitly convert type 'string' to 'System.Text.RegularExpressions.Match' C:UsersasusAppDataLocalTemporary ProjectsConsoleApplication1Program.cs 14 28 ConsoleApplication1
怎么了?
属性Value
具有string
的类型。因此,您需要将Regex.Match
方法的结果分配给Match
对象,然后将其Value
写入控制台
Match output = Regex.Match(input, @"gwtHash:""(.*?)""");
Console.WriteLine(output.Value);
或者output
变量类型更改为字符串:
string output = Regex.Match(input, @"gwtHash:""(.*?)""").Value;
Console.WriteLine(output);
获取1bcb94eb
使用
Match output = Regex.Match(input, @"gwtHash:""(.*?)""");
if (output.Success)
Console.WriteLine(output.Groups[1].Value);