Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regex Optional Groups?

I seem to have confused myself with a preg_match regex I'm doing, so fresh eyes and help would be appreciated.

My current regex is as follows:

/<!--menu:start:\(([0-9])\,([0-9])\)-->(.*?)<!--menu:end-->/se

I am looking to make the number input and colon e.g. :(1,4) optional, so it would match:

<!--menu:start--><!--menu:end-->

or

<!--menu:start:(0,3)--><!--menu:end-->
like image 985
Joel Avatar asked Jun 22 '09 09:06

Joel


1 Answers

Enclose with a non matching group and set it to optional : (?:...)?

/<!--menu:start(?::\(([0-9])\,([0-9])\))?-->(.*?)<!--menu:end-->/se
like image 93
glmxndr Avatar answered Oct 15 '22 06:10

glmxndr