更具体地说,有一条线(在给定字符串中的其他行中):
sudo:x:27:foo,bar,baz
^---we need to match this character
前缀已知,可以表示为^sudo:x:\d+
问题:正向后视断言必须是固定大小,否则我会使用(?<=sudo:x:\d+)
问题:如何匹配那个精确的冒号(它必须是唯一匹配的角色)
游乐场:http://regex101.com/r/gG9vW6/2
PS:对于那些好奇我为什么需要它的人:这只是更大任务的一部分,可以表达为:如果尚未使用以下解析器限制,则将用户添加到sudo组(它来自正在使用的软件,无法更改) :
(matches)
和引用
更新
是一种使用(matches)
的方法,所以它不再是问题: - )
这是如何引用cfengine中的匹配项:
$(match.N)
其中N是捕获组的索引。
请参阅:https://docs.cfengine.com/docs/3.5/manuals-language-concepts-pattern-matching-and-referencing.html
答案 0 :(得分:1)