许多正则expression式系统有能力设置一个全局修改器来允许多个匹配。
以下是它在Javascript和Perl中的工作原理 。
/g
Python 有点不同
Python没有像Perl的/ g选项这样的全局修饰符。 要查找模式的所有匹配,请使用re.findall()而不是re.search()。 findall方法返回匹配列表而不是匹配对象。 如果匹配包含捕获的子expression式,findall将返回一个元组列表,这些元组就是捕获。
而这个名单还在继续 …
不过,我似乎无法find在文档中的任何地方如何设置rsyslog这样的修饰符。 一个在线testing实用程序是可用的,但它提到了以下内容:
Rsyslog使用POSIX ERE(和可选的BRE)expression式。 这个检查器与php POSIX ERE函数一起工作。 所以从理论上讲,rsyslog(clib)包含的引擎和这个web应用程序之间可能有区别。 但实际上结果应该是相当一致的。
由于该工具使用php POSIX ERE函数 – 而且/g 修饰符在php中不起作用,所以我相信在rsyslog中需要与php函数preg_match_all相媲美。
有小费吗?