1

Я хотел бы выяснить, есть ли "дублирующий" фрагмент текста между двумя конкретными строками.

Например, я хотел бы узнать, что в первом "TestMethod" дважды указан набор «TC.Requirement».

    [TestMethod()]
    [TestProperty(TC.Name, "")]
    [Description("A test for ")]
    [TestProperty(TC.InternalTcId, "2c80e355-c156-4fd1-ba10-bdfb50f67828")]
    [Owner("")]
    [TestProperty(TC.CreationDate, "")]
    [TestProperty(TC.Requirement, "1111")]
    [TestProperty(TC.PostCondition, "")]
    [TestProperty(TC.PreCondition, "")]
    [TestProperty(TC.Types, TCType.Normal_Case)]
    [TestProperty(TC.Requirement, "2222")]
    [TestProperty(TC.ReviewDate, "")]
    public void ATest()
    {
        Assert.IsNotNull(target);
    }


    [TestMethod()]
    [TestProperty(TC.Name, "")]
    [Description("A test for ")]
    [TestProperty(TC.InternalTcId, "8d00d256-86fe-4a08-864c-6f1bf38581ce")]
    [Owner("")]
    [TestProperty(TC.CreationDate, "")]
    [TestProperty(TC.PostCondition, "")]
    [TestProperty(TC.PreCondition, "")]
    [TestProperty(TC.Types, TCType.Normal_Case)]
    [TestProperty(TC.Requirement, "3333")]
    [TestProperty(TC.ReviewDate, "")]
    public void BTest()
    {
        Assert.IsNotNull(target);
    }

В первом TestMethod есть двойной атрибут Requirement-aatribute, во втором TestMethod нет второго.

Не могли бы вы помочь мне найти регулярное выражение для этого поиска?

Спасибо :-)

1 ответ1

0

Это должно работать:

TestMethod((?!TestMethod).)*Requirement((?!TestMethod).)*Requirement

В основном он использует негативные прогнозы, чтобы проверить, что Requirement возникает дважды БЕЗ любого вхождения TestMethod между ними.

Важно: убедитесь, что у вас есть . matches newline в настройках Notepad++.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .