Подстановка регулярного выражения в Java [duplicate]

У меня есть другая перспектива ответить на это.

При работе на разных уровнях, например, в приложении MVC, контроллеру нужны службы для вызова бизнес-операций. В таких сценариях контейнер инжекции зависимостей может использоваться для инициализации служб, чтобы исключить исключение NullReferenceException. Это означает, что вам не нужно беспокоиться о проверке нулевого значения и просто вызвать службы с контроллера, как будто они всегда будут доступны (и инициализированы) как одиночный или прототип.

public class MyController
{
    private ServiceA serviceA;
    private ServiceB serviceB;

    public MyController(ServiceA serviceA, ServiceB serviceB)
    {
        this.serviceA = serviceA;
        this.serviceB = serviceB;
    }

    public void MyMethod()
    {
        // We don't need to check null because the dependency injection container 
        // injects it, provided you took care of bootstrapping it.
        var someObject = serviceA.DoThis();
    }
}
31
задан david 12 May 2011 в 19:43
поделиться

2 ответа

Когда вы создаете регулярное выражение, у вас есть возможность захвата частей матча и сохранения их в качестве заполнителей. Они нумеруются начиная с $1.

Например:

/A(\d+)B(\d+)C/

Это будет захватывать из A90B3C значения 90 и 3. Если вам нужно группировать вещи, но не хотите их захватывать, используйте (?:...) версию вместо (...).

Цифры начинаются слева направо в том порядке, в котором скобки открыты. Это означает:

/A((\d+)B)(\d+)C/

При сопоставлении с той же строкой будут записаны 90B, 90 и 3.

31
ответ дан tadman 3 September 2018 в 14:59
поделиться

Это особенно. полезно для Синтаксис строки замены (т. е. форматирование строк) Хорошо подходит для случаев / футляров для поиска Find & amp; Заменяет. Чтобы ссылаться на захват, используйте $ n, где n - номер регистра захвата. Использование $ 0 означает весь матч. Пример: Find: (<a.*?>)(.*?)(</a>) Replace: $1\u$2\e$3

6
ответ дан closebrace 3 September 2018 в 14:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: