我正在尝试匹配以下模式:
LOCAL1*.CRIT /var/log/messages
使用正则表达式:
(^LOCAL[0-9]|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z])
它似乎匹配除了最后的路径之外的所有内容。关于为什么会发生这种情况的任何线索?
看起来您在最后一组末尾缺少一个星号:
(^LOCAL[0-9]|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z]*)
^ THIS
否则,您只会匹配第一个斜杠和一个字符。
此外,您的正则表达式和LOCAL1*
. 在目前的形式中,正则表达式不会匹配最后一个字符(the *
)。这很容易修复,但正确的修复取决于您的要求(*
总是存在吗?它是可选的吗?等)
不应该是这样吗?
(^LOCAL[0-9]\\*|^[\\*])[.]([\\*]{1}|[a-zA-Z]*)\\s*(/[/a-zA-Z]*)