0

正規表現が苦手です..

この正規表現パターンに ".tile" (引用符なし) を追加する方法:

private static final Pattern JSP_PathPattern = Pattern.compile("(.+\\/)(\\w+)(\\.(jsp|.?htm.?|.?xslt,.?xsl))$", Pattern.CASE_INSENSITIVE);

前もって感謝します。

4

1 に答える 1

4
private static final Pattern JSP_PathPattern = Pattern.compile("(.+\\/)(\\w+)(\\.(jsp|.?htm.?|.?xslt,.?xsl|tile))$", Pattern.CASE_INSENSITIVE);

ただし、コードの理解 (ファイル拡張子のチェック) から、この正規表現にはいくつかの点で欠陥があります。

  • エクストラ、非リテラル(.にでも一致するため、 のようなものが許可されます)xhtmy
  • ,のための誤りxlt
  • ファイル名チェックの必要はありません。

そこで、次の表現をお勧めします。

private static final Pattern JSP_PathPattern = Pattern.compile("(\\.(jsp|html?|xslt?|tile))$", Pattern.CASE_INSENSITIVE);

公平を期すために、正規表現を使用する必要はありません。で文字列を分割し.、最後の要素をテストできます。

いずれにせよ、正規表現を学ぶことをお勧めします。

于 2012-06-08T22:28:10.437 に答える