厨师检查输出包含由于正则表达式引起的错误
chef inspec output consists of error due to regex
执行以下 chef inspec 命令时出现错误。
describe command ("cat sql.conf | grep 'log_filename'") do
its('stdout') {should match (/^'sql-(\d)+.log'/)}
end
预期的模式匹配是 sql-20201212.log
。请检查。
此正则表达式 /^'sql-(\d)+.log'/
与此字符串 sql-20201212.log
不匹配。您可以在 https://regexr.com/
上试用
您的正则表达式存在一些问题:
'
在您的正则表达式中但不在您的字符串中
.
匹配除换行符以外的任何字符,也许您只想匹配一个点(?),如果是这样,那么您需要例如逃脱它 \.
- 你可能不需要
\d
在一个组中 (()
)
因此,此正则表达式 ^sql-\d+\.log$
将匹配 sql-20201212.log
字符串。我还添加了 $
以匹配字符串的结尾。
执行以下 chef inspec 命令时出现错误。
describe command ("cat sql.conf | grep 'log_filename'") do
its('stdout') {should match (/^'sql-(\d)+.log'/)}
end
预期的模式匹配是 sql-20201212.log
。请检查。
此正则表达式 /^'sql-(\d)+.log'/
与此字符串 sql-20201212.log
不匹配。您可以在 https://regexr.com/
您的正则表达式存在一些问题:
'
在您的正则表达式中但不在您的字符串中.
匹配除换行符以外的任何字符,也许您只想匹配一个点(?),如果是这样,那么您需要例如逃脱它\.
- 你可能不需要
\d
在一个组中 (()
)
因此,此正则表达式 ^sql-\d+\.log$
将匹配 sql-20201212.log
字符串。我还添加了 $
以匹配字符串的结尾。