Здравствуйте!
Мне нужно проверить строку на соответствие, с помощью регулярных выражений. Строка - имя жесткого диска, который может иметь вид, например:
- \\?\PhysicalDrive0
- \\?\PhysicalDrive1
- \\?\PhysicalDrive2
и т.д.
То есть имена могут отличаться только числом в самом конце строки. Мне нужно составить шаблон для такой проверки.
Для этого использую класс
QRegExp. Для него устанавливаю язык регулярных выражений - Perl:
QRegExp regExp;
regExp.setPatternSyntax(QRegExp::RegExp2);И составляю шаблон для проверки:
const QString strRegExpPattern = "^\\\\?\\PhysicalDrive([\\d])+$";Но такой шаблон не срабатывает. А срабатывает только при условии, если убрать из него символ '
^'. А меня это не устраивает, мне ведь нужно, чтобы левая часть строки шаблона находилась в самом начале проверяемой строки.
Подскажите, пожалуйста, что неправильно в шаблоне:
^\\\\?\\PhysicalDrive([\\d])+$для строк типа
\\?\PhysicalDrive0Ну, или если не выходит, то подскажите шаблон на другом языке, который поддерживает QRegExp