Я работаю над функцией Perl (или я должен сказать подпрограмму?) И относительно новичок в Perl (и регулярных выражениях).
Все это работает, за исключением одной простой части ..... оператор if, который должен использовать регулярное выражение.
Мне нужно проверить, начинается ли строка:
- с необязательного пробела
- после белого-space содержит 0 или 1 экземпляр строки, заключенной в квадратные скобки .. (т.е. [test])
Написанное мной регулярное выражение: ^\s*{\[$testString\]}?$
Этоне работает.Однако я не смог заставить его работать с регулярными выражениями вообще, поэтому мне интересно, правильно ли я это делаю.
Сейчас тестовый пример, с которым я работаю,Строка, я хочу, чтобы значение true было равно [fallback_test]
.
Когда я делаю
if ($string eq ' [fallback_test]')
, тогда это работает.Однако, если я сделаю
if ($string =~ /fallback_test/)
, то он не войдет в блок if, как должен.В идеале, оно будет использовать написанное мной регулярное выражение:
^\s*{\[$testString\]}?$
Итак, мои вопросы ...
- Почему регулярные выражения не работают для меня?
- Будет ли это регулярное выражение делать то, что я хочу, когда я получу регулярное выражение в этом блоке?