b>j)΄!Pԫ&;"kB޶}pSVT(wę!j x;-m@JnQ+պכ7MajfJͱ4jѲ撆RxZMz7vIW/dٞТזcZM~ji ߒsQzԠDW3Den"M+/B:-uIJ7j委9p='mANޭ=/B:-n&nUfqxZM~c Ϲ+,&ᾺܢF[(1*" ϒ"Jԧ<;b" "jܢF[x ,!q қ*]/؝27SMcs"ޭDQ/应ܢF_! :s" 7`F+SVTn"IJnQ/应B 4 wD"IJ׭-`S9DrjiEJ߅gJ应矁[xZM~n"IB؃!'Тѕ+(mIKʭ/|ϐܢF[xZMzG %嬩/c[[ Регулярные выражения

Регулярные выражения

Вчера весь день доводил до ума одну конструкцию IBProvider, которая была сделана одной из первых в его третьей версии. И краем глаза увидел код вида:

 :inherited(NULL)
 ,m_ProviderClassID(ProviderClassID)
 ,m_spData(pData)
 ,m_spUnkOwner(pUnkOwner)
{
 assert(m_spData);
 assert(m_spUnkOwner);

Непорядок, подумал я. Надо бы задействовать structure::not_null_ptr для подсказки смарт-указателям:

 ,m_spData(structure::not_null_ptr(pData))
 ,m_spUnkOwner(structure::not_null_ptr(pUnkOwner))

Но решил не отвлекаться.

К вечеру, а тем более сегодня с утра, уже не мог вспомнить — ГДЕ ЭТО Я ВИДЕЛ???

Чертыхаясь, пришлось осваивать регулярные выражения.

С использованием справок, онлайн-тестеров и такой-то матери, осилил выражение — (,m_sp)[\w]*[(][p].

Нашлось даже больше чем ожидал:

I am an engineer a regular expression expert! 🙂

Leave a Comment