本帖最后由 gksj 于 2024-1-26 01:21 编辑
[C#] 纯文本查看 复制代码
//string strInput = "第一个字符串 - 第二个字符串 = 第三个字符串 - 第四个字符串";
//string strInput = "第一个字符串 - 第二个字符串 - 第三个字符串";
//string strInput = "第一个字符串 = 第二个字符串 = 第三个字符串";
string strInput = "第一个字符串 - 第二个字符串 = 第三个字符串"; //待处理字符串(条件返回)
string rgxInput = "- %b = %c"; //用户自定义简化正则表达式
string rg = rgxInput;
rg = rg.Replace(@"%a", @"(?<text1>[\s\S]*?)");
rg = rg.Replace(@"%b", @"(?<text2>[\s\S]*?)");
rg = rg.Replace(@"%c", @"(?<text3>[\s\S]*?)");
rg = rg.Replace(@"%d", @"(?<text4>[\s\S]*?)");
Regex regex = new Regex(rg, RegexOptions.IgnoreCase);
Match match = regex.Match(strInput);
if (match.Success)
{
textBox2.Text = match.Groups["text2"].Value.Trim();//返回 %b
textBox3.Text = match.Groups["text3"].Value.Trim();//返回 %c (返回数据为空???)
}
返回结果textBox3.Text字符串为空,正常应该是第 "第三个字符串"
如何解决最后提取的特征字符串是空的问题?
诚邀各位高手答疑,谢谢!
问题已解决!
[C#] 纯文本查看 复制代码
string rgxInput = "- %b = %c$"; //用户自定义简化正则表达式
|