Regex дополнительные группы?

Некоторые SDK (с Xcode) вы можете скачать по прямым ссылкам. Список здесь: http://iphonesdkdev.blogspot.ru/2010/04/old-versions-of-iphone-sdk.html

Некоторые не работают, но кое-что можно все еще скачать. Например: http://adcdownload.apple.com/Developer_Tools/xcode_3.2.6_and_ios_sdk_4.3__final/xcode_3.2.6_and_ios_sdk_4.3.dmg

15
задан Joel 22 June 2009 в 09:10
поделиться

3 ответа

Заключить с несовпадающей группой и установить ее как необязательную: (?:. ..)?

/<!--menu:start(?::\(([0-9])\,([0-9])\))?-->(.*?)<!--menu:end-->/se
31
ответ дан 30 November 2019 в 23:58
поделиться

Вот так:

/<!--menu:start(?::\((\d),(\d)\))?-->(.*?)<!--menu:end-->/se

I Мы добавили группу без захвата, (?:) , вокруг части, которую вы хотите сделать необязательной, а затем добавили к ней вопросительный знак: (?: )?

28
ответ дан 30 November 2019 в 23:58
поделиться

Здесь используется необязательный группа без захвата - (?:)? - для соответствия необязательной части, а также \ d вместо [0-9] для соответствия цифры:

/<!--menu:start(?::\((\d),(\d)\))?-->(.*?)<!--menu:end-->/se

Если числа в круглых скобках могут состоять из более чем одной цифры, используйте вместо этого эту:

/<!--menu:start(?::\((\d+),(\d+)\))?-->(.*?)<!--menu:end-->/se
5
ответ дан 30 November 2019 в 23:58
поделиться
Другие вопросы по тегам:

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