RegEx Match不起作用

本文关键字:不起作用 Match RegEx | 更新日期: 2023-09-27 17:57:27

如果结果不成功,编译器只是停止,调试也只是停止,但没有错误,只是停止。如果Result成功,它可以工作,但其他部分不工作,但如果Result不成功,编译器只是停止,我该怎么办?

Match Result = Regex.Match(file, pattern);
if(Result.Success)
{
    // This part works
}
else
{
    // this is not working
}

这里有一个尝试捕获,仅举一例。

RegEx Match不起作用

else块仅在if块失败时执行。在您的情况下,正则表达式成功匹配,因此不会执行else{ }

如果不匹配,不要担心。如果regex不匹配,它将返回false,并且您的else{ }将被执行。

我认为问题不在于成功是真是假。我试过这个代码,它有效:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace RegexTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string s1, s2, s0;
            //Regex regex;
            Match match;
            s0 = "l'insostenibile leggerezza dell'essere";
            s1 = "g.+z";
            s2 = "'.*'";
            try
            {
                match = Regex.Match(s0, s1);
                if(match.Success)
                {
                }
                else
                {
                }
                match = Regex.Match(s0, s2);
                if(match.Success)
                {
                }
                else
                {
                }
                s1 = "x.+r";
                match = Regex.Match(s0, s1);
                if(match.Success)
                {
                }
                else
                {
                }
            }
            catch(Exception ex)
            {
            }
        }
    }
}

你查过条款了吗?请在我的代码中替换您的子句,然后重试。