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