我正在编写TeX文件并使用function pos(index) {
return wrapper.children[index].style;
}
for (var i = 0; i < 10; i++) {
wrapper.appendChild(document.createElement('div'));
var style = pos(i);
style.left = Math.random() * w + 'px';
}
作为|...|
的简写,并尝试使用
\verb|...|
但是,如果我在同一行上有两个sed 's/|\(.*.\)|/\\verb|\1|/g'
实例,则只重写第一个实例。例如,
|...|
结果
printf " test |1| then |2| \n finally |3|" | sed 's/|\(.*.\)|/\\verb|\1|/g'
请注意, test \verb|1| then |2|
finally \verb|3|
的第二次使用无法正确翻译。
感谢任何帮助!
答案 0 :(得分:3)
printf " test |1| then |2| \n finally |3|" | sed 's/|\([^|]*[^|]\)|/\\verb|\1|/g'
您的RE无法按预期工作,因为sed会捕获最长的匹配。因此,对于示例的第一行,表达式.*.
将1| then |2
捕获为单个匹配项。我将表达式更改为[^|]*[^|]
以禁止捕获垂直条。
答案 1 :(得分:0)
这可能适合你(GNU sed):
sed 's/|[^|]*|/\\verb&/g' file