#include<regex>
#include <iostream>
using namespace std;
bool isUSBNameValid(const std::string &node, std::regex device) {
if (std::regex_match(node, device)) {
return true;
}
return false;
}
int main() {
std::regex device_sata("/dev/sd[a-z][0-9]*");
std::regex device_any("/dev/[[:alnum:]]+");
cout<< ( isUSBNameValid("/dev/sda1", device_sata) ? "Found" : "Not found")<<endl;
cout<< ( isUSBNameValid("/dev/sdb", device_sata) ? "Found" : "Not found")<<endl;
cout<< ( isUSBNameValid("/dev/ttyS0", device_any) ? "Found" : "Not found")<<endl;
return 0;
}
I2luY2x1ZGU8cmVnZXg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgaXNVU0JOYW1lVmFsaWQoY29uc3Qgc3RkOjpzdHJpbmcgJm5vZGUsIHN0ZDo6cmVnZXggZGV2aWNlKSB7CiAgICBpZiAoc3RkOjpyZWdleF9tYXRjaChub2RlLCBkZXZpY2UpKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkgewoJc3RkOjpyZWdleCBkZXZpY2Vfc2F0YSgiL2Rldi9zZFthLXpdWzAtOV0qIik7CglzdGQ6OnJlZ2V4IGRldmljZV9hbnkoIi9kZXYvW1s6YWxudW06XV0rIik7Cgljb3V0PDwgKCBpc1VTQk5hbWVWYWxpZCgiL2Rldi9zZGExIiwgZGV2aWNlX3NhdGEpID8gIkZvdW5kIiA6ICJOb3QgZm91bmQiKTw8ZW5kbDsKCWNvdXQ8PCAoIGlzVVNCTmFtZVZhbGlkKCIvZGV2L3NkYiIsIGRldmljZV9zYXRhKSA/ICJGb3VuZCIgOiAiTm90IGZvdW5kIik8PGVuZGw7Cgljb3V0PDwgKCBpc1VTQk5hbWVWYWxpZCgiL2Rldi90dHlTMCIsIGRldmljZV9hbnkpID8gIkZvdW5kIiA6ICJOb3QgZm91bmQiKTw8ZW5kbDsKCXJldHVybiAwOwp9