Хорошо, это в основном интеллектуальный вопрос (или улучшение).
У меня есть шаблон, который должен соответствовать либо началу, либо концу строки (или обоим).
(Здесь я просто используйте 'abcd
' в качестве шаблона, но в реальном мире это довольно длинный и сложный шаблон. Однако это не интересно, так как он работает).
Как обычно, я использую это регулярное выражение:
@"^abcd|abcd$"
Здесь шаблон дублируется, один раз для начала и один раз для конца строки.
Однако, поскольку шаблон длинный и сложный, я бы хотел укажите это только один раз в строке . Это помогло бы как в чтении, так и в поддержании - у меня было бы только одно место для изменения.
Следующие регулярные выражения, конечно, не работают, но дают представление о том, что я хочу:
@"^abcd$" - matches only 'abcd' exact
@"^?abcd$?" - matches also 'abcd' in the middle
Итак, вопрос в следующем:
Есть ли способ сопоставить начало или конец строки и указать только один внутренний шаблон?