给出smb.conf文件中的以下内容。如何使用boost(perl版本)正则表达式删除 [share_11999] 部分。问题是 [share_11999] 部分可以位于文件的末尾。
以下正则表达式几乎可以工作,除了它删除了下一部分的“[”。
“[[a-zA-Z0-9 _-] +?] [^ \ [] +?path = / store / 11999。*?(\'| \ []” < / p>
[share_11920]
path = /store/11920
writeable = yes
create mask = 0755
[share_11999]
path = /store/11999
writeable = yes
create mask = 0755
[share_12435]
path = /store/12435
writeable = yes
create mask = 0755
基本上问题是匹配任何东西,直到除了字符或缓冲区末尾之外的字符。
答案 0 :(得分:3)
回答你的一般问题:&#34;除了角色之外,如何匹配任何东西?&#34;
您可以使用以下正则表达式:
"(.*)(?=word)"
这使用&#34;向前看/向后看&#34;构造(?=某事)以匹配所有内容,直到某个单词并排除该单词。
Test string ==> 'I don't understand the meaning of this word or anything else'
"(.*)(?=word)" applied
'I don't understand the meaning of this'