0

次のパターンに一致させようとしています。

LOCAL1*.CRIT /var/log/messages

正規表現で:

(^LOCAL[0-9]|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z])

最後のパス以外はすべて一致するようです。なぜこれが起こっているのかについての手がかりはありますか?

4

2 に答える 2

2

こんなはずじゃないの?

(^LOCAL[0-9]\\*|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z]*)

于 2013-01-04T13:14:52.183 に答える
2

最後のグループの最後にアスタリスクがないようです:

(^LOCAL[0-9]|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z]*)
                                                          ^ THIS

そうしないと、最初のスラッシュともう 1 文字だけが一致します。

また、あなたの正規表現と のマッチングについて、何かが正しくありませんLOCAL1*。現在の形式では、正規表現は最後の文字 ( ) と一致しません*。これは簡単に修正できますが、正しい修正は要件によって異なります (*常に存在するか、オプションかなど)。

于 2013-01-04T12:56:48.913 に答える