私は多くの単純なケースに一致するパターンを持っています。それぞれに正規表現を使用できますが、パフォーマンスが高くなります。どうすればそれらを最適化できますか?パターンは主に、「m」(メートル)の有無にかかわらず、小数点以下1桁の幅x高さの値からのものです。
パターン(各値の後に「m」を付けることもできません)
23x10
23 x 10
23 x10
23x 10
2.3x10
2.3 x 10
2.3 x10
2.3x 10
2.3x5.1
2.3 x 5.1
2.3x 5.1
2.3 x5.1
1x5
2 x 5
3 x4
4x 5
...etc
私が今までにしたこと:
パターンごとに各正規表現を試しましたが、パターンが多くなり、パフォーマンスが低下する可能性があります
static const QString c_Pattern_WidthHeight_1 = "\\dx\\d\\dm"; //ex: 5x10m
static const QString c_Pattern_WidthHeight_2 = "\\d[,.]\\d x \\d\\dm"; //ex: 4.1 x 22m
static const QString c_Pattern_WidthHeight_3 = "\\d[,.]\\dx\\d\\dm"; //ex: 4.5x21m
static const QString c_Pattern_WidthHeight_4 = "\\dx \\d\\dm"; //ex: 5x 14m
static const QString c_Pattern_WidthHeight_5 = "\\dx\\dm"; //ex: 5x8m
static const QString c_Pattern_WidthHeight_6 = "\\d[,.]\\dm x \\d\\dm"; //ex: 3.8m x 10m
static const QString c_Pattern_WidthHeight_7 = "\\d[,.]\\d\\d x \\d"; //ex: 4.15 x 9
static const QString c_Pattern_WidthHeight_8 = "\\d x \\d\\dm"; //ex: 3 x 10m
static const QString c_Pattern_WidthHeight_9 = "\\d\\dx\\d[,.]\\dm"; //ex: 10x4.5m
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加