This technique of the "item families" is just an example of how you can implement
modeMayBeAllowed in your Metadata Adapter.
Perhaps, its generic resort to configurable regular expressions is not the best approach for your case.
By the way, you can see the source code
here.
That said, in the ^d+:.* regular expression you should add a backslash before the d.
If the test passes, the item is assigned MERGE mode and is submitted to the Data Adapter's subscribe().
At this point, the item name is already accepted. If the Data Adapter finds it unexpected, it cannot inform the client, as this is only a Metadata Adapter fault, as the Metadata Adapter should allow only items meaningful to the Data Adapter.
In your case (which happens with the permissive regular expression) the "Unexpected item" message is issued by the Data Adapter of the StockList Demo.
If you want to use your item names, you should code your Data Adapter. For testing purpose, you can modify the StockList Demo Data Adapter, starting from
this project.