os/exec: don’t convert byte slice to string when using verb %s
1 | package main |
输出:
1 | [97 98 99] |
`帮我写一段正则,匹配同时包含 Printf,%s,string( 的行``
如果你要找到同时包含 “Printf”,”%s”,和 “string(“ 的行,你可以使用下面的正则表达式:
1 | ^(?=.*Printf)(?=.*%s)(?=.*string\().*$ |
这个正则表达式是如何工作的呢?
^:表示一个字符串的开始。(?=.*Printf):这是一个正向肯定预查。意思是,只有当字符串中有 “Printf” 时,才匹配。(?=.*%s):这也是一个正向肯定预查。意思是,只有当字符串中有 “%s” 时,才匹配。(?=.*string\():这也是一个正向肯定预查。意思是,只有当字符串中有 “string(“ 时,才匹配。.*$:这部分将匹配任何字符(.表示任何字符,*表示零次或多次),直到字符串的结束($)。
这个表达式的整体含义是,只有当一行的文本同时包含 “Printf”,”%s”,和 “string(“ 这三个字符串时,才会被匹配。
注意,这个表达式不考虑这三个字符串的顺序。如果你需要在特定的顺序中匹配这些字符串,你需要修改或创建一个新的正则表达式。
这个正则会有很多冗余信息,但是荣誉不咋多
https://go-review.googlesource.com/c/go/+/521136
https://github.com/golang/go/commit/0163b3b32cad2ed3331e2b197c68387f12246cd8
https://github.com/ethereum/go-ethereum/pull/29184
https://go-review.googlesource.com/c/go/+/569715
原文链接: https://dashen.tech/2020/08/20/fmt-Printf-s-string-output-此时string可以省略/
版权声明: 转载请注明出处.