2012-06-07 3 views
0

матч я в настоящее время это регулярное выражение (с многострочным и dotall флагов):Regex строка или конец строки

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^@@ 

Это соответствует этому:

@@:variable 

some nice MarkDown content blah blah 

@@ 

Я хотел бы иметь возможность опустить clos @@, если объявление является последним в файле (строка), это связано с тем, что многие из файлов будут иметь только одно объявление, поэтому идея его закрытия кажется ненужной. Я пробовал это регулярное выражение:

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^(@@|\A) 

Но он уже не совпадает с закрывающим тегом.

Заранее за вашу помощь.

+2

Вы имели в виду '(^ @@ | \ A)' или даже '(^ @@ | \ Z)'? – hamstergene

ответ

0

У меня сейчас:

Две ошибки:

Каретки должны была быть частью первого регулярного выражения в последней группе, и мне нужен \ Z не \ А, как \ A соответствует началу строки а не конец.

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)(^@@|\Z) 
Смежные вопросы