2017-04-08 8 views
0

私は、このJavaコードがあります:[。]regex - 特定の文字を識別する方法Javaの

cssBody = ".header-hp{" + 
       "float: left;" + 
      "width: 330px; "+ 
      "}" 
    Matcher cssMatcher = Pattern.compile("[.](\\w+)\\s*[{]([^}]+)[}]").matcher(cssBody); 

をし、私はそれに合わせカント、私は私の正規表現は、間の任意の文字を扱うことができますしたいと\ sの*、私はそれがどのように行うことができますか?

+0

任意の文字または文字の任意の*シーケンス*を? –

+0

入力出力の例を教えてください。 –

+1

XMLとHTMLのように、CSSは複雑すぎて正規表現と一致しません。真のCSSパーサを使用する(または書く)ことは賢明でしょう。つまり、リテラル '.'にマッチさせようとしていますが、あなたのCSSルールにはピリオドが含まれていません。 – VGR

答えて

0

あなたは、文字列にダッシュ-を持っていますが、\w、それに一致する正規表現にダッシュを追加しません:

[.]([\\w-]+)\\s*[{]([^}]+)[}] 
// __^ 
関連する問題