求一个正则的写法
在进行ubb转换时想简化ul和ol的写法,把下面的代码[ul]
*. laksd
*. laksd
[/ul]
转换成这样
[ul]
<li>laksd</li>
<li>laksd</li>
[/ul]
要求*. laksd这样的条目只有在ul和ol之间才转换成li
我这样写'%(\)(\*\. .*?)(\)%s'却总不达效果 你的意思是不是找到和作为标记来替换标记中间的你内容?如果是这样的话,你的表达式当然不会起作用,因为这个是在一行中才起作用。你要实现这个的话,应该使用sed的带大写子母参数的专门处理多行的命令。这个我很少用,我帮你查查,如果可以解决我再把它贴出来。 是的。谢谢watch1394 的确是,但是sed大写字母的我很少用,看man也看不太懂,我就用过N呵呵,再研究下:) 我仔细研究了一下sed,你试试这个行不行(我没有测试,因为我现在在上班,用的是公司的机器,没有Linux的):
sed '
/\[ul\]/,/\[\/ul\]/{
/laksd/s/.*\(laksd\)/<li>\1<\/li>/
}' YourFile
页:
[1]