現在、Mac で Qt C++ アプリケーションに取り組んでいます。アプリケーション全体で、文字列パターン マッチングをかなり頻繁に使用しています。QRegExp クラスを使用していると、理解できない問題が発生し続けます!!!
私の QRegExp は次のようになります。
QRegExp regEx("M|F\\dS\\d\\d.C\\d\\d", Qt::CaseInsensitive);
ファイル名の「M1S02.C12」や「F4S14.C01」などのパターンに一致するはずです。これは、一致する必要がある入力ファイル名にこのパターンの部分が含まれていないとすぐにうまく機能します。
例:私の入力ファイルは「testItem_abcd_M1S03.C02_grade3」という名前です
regEx.exactMatch("testItem_abcd_M1S03.C02_grade3");
false を返しますが、
regEx.indexIn("testItem_abcd_M1S03.C02_grade3");
"item" 内の "m" の位置である 7 を返します。
正しく一致させるために何をする必要があるか、誰か教えてもらえますか?
前もってありがとう、ギターフロー