您好我有以下字符串:
e-bgp-ip@2016-03-21.y:688: error: bad value "redi-bfg" (should be if-feat-ex)
我需要将字符串与正则表达式匹配。但是,字符串可以是连字符和非连字符,因此它也可以是
e-bgp-ip@2016-03-21.y:688: error: bad value "redibfg" (should be if-feat-ex)
我可以使用
捕获非连字符版本/^.*? error: bad value \"\w+\" \(should be *.*$/m
我试图替换这个正则表达式匹配的任何一行,这是我对另一行的一个例子:
$line = preg_replace('/^.*? key \"\w+\" not in order, *.*$/m', '', $line);
但是我需要一个能够捕获第一个例子和第二个例子的正则表达式,任何人都有任何想法我怎么能这样做?
答案 0 :(得分:3)
只需将\w
替换为包含短划线的字符类:[\w-]
$line = preg_replace('/^.*? key "[\w-]+" not in order, *.*$/m', '', $line);