1

潜在的なハッシュ文字を認識できません。id-1321952010.xml という形式のファイルを認識する次のパターンを使用しています。これらのファイルの一部には、ID の前に # が含まれている場合があるため、#id-1321952010.xml も取得する必要があります。

現在、私が持っている最初のケースでは:

QRegExp rxLogFileFormat("\\b^[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}$\\b");

「#?」を追加してみました 境界の前ですが、正しく機能させることができません。誰か助けてください。

4

1 に答える 1

5

境界の前に追加するだけ#?では、正規表現は#id-1321952010.xmlと一致し^ません。これは、その前にハッシュがある可能性があることを宣言した後、正規表現()が検索されるためです。これは、矛盾するルールです。 。

これを可能にするには、文字列の先頭の区切り文字を、バインドされた単語の外側の正規表現の先頭に移動します

^#?\\b[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}\\b$

(また、文字列の終わりの区切り文字を、適切な方法でバインドされた単語の外に移動しました)

また、

@Matのコメントに基づくと、文字列の最初と最後を一致させる場合は、単語の境界が冗長になるため、おそらく単語の境界はまったく必要ありません。

^#?[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}$
于 2011-11-22T09:05:32.423 に答える