[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 用Powershell 正则替换标签内容

我想把下面红色字部分,替换为 <abc> 使用下面代码中的正则,会删掉粉色字的部分, 求路过高手指引, 提前感谢!
(gc 0.txt) -replace '(?s)(?<=<div id="topic_panel.*?>).*(?=</div>)', '<abc>' | Out-File ok.txt

-----------------------------------------------------------------------------------------------0.txt

    <div id="topic_panel" style="display: none">
        <div class="p_div"><p>Insert</p></div>
        <ul>
            <li id="sub-topic" class="submenu_btn"><span>A</label></span></li>
        </ul>

    </div>
    </div>
    <div id="transform_panel" style="display: none">
        <ul>
            <li id="clear_transform" class="submenu_btn" data-action="reset"><span>Reset Rotation/Skew</span></li>
            <li id="rotate_left" class="submenu_btn" data-action="rotate-left"><span>Rotate Left</span></li>
            <li id="rotate_right" class="submenu_btn" data-action="rotate-right"><span>Rotate Right</span></li>
            <li id="skew_left" class="submenu_btn" data-action="skew-left"><span>Skew Left</span></li>
            <li id="skew_right" class="submenu_btn" data-action="skew-right"><span>Skew Right</span></li>
        </ul>
    </div>
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

本帖最后由 5i365 于 2022-6-2 09:34 编辑

回复 2# flashercs


可以得到正常的输出, 非常感谢大侠指引!
当需要查找的标签有N个, 分别替换成不同内容, 代码需要怎样更改? 实在看不懂代码含义 例如有3个需要查找和替换的标签及内容, 写在了下面的Hash中了
@{

'div id="topic_panel"' = '<abc>text</abc>'

'div id="top_ab"' = '<a>tet</a>'

'H1 id="to_cd"' = '<b>xt</b>'
}


看来直接正则替换的方法行不通了...
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

本帖最后由 5i365 于 2022-6-2 22:34 编辑

回复 5# flashercs


   试了几个文件, 发现两个小问题1.对下图结构的标签, 不能完整替换, 我想将粉框中的内容替换为空   '(?is)(<(?<openTag>div) id="topic_shapes_panel"[^>]*>)'        = ''



2.如果替换为数字,例如1 好像把所有的都删了  '(?is)(<(?<openTag>div) id="topic_panel"[^>]*>)'        = '1'
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

本帖最后由 5i365 于 2022-6-2 23:14 编辑

回复 7# flashercs


   感谢大侠回复,
我是用下面方法加载的html, 不加-raw好像没效果,
$html = gc 9.html -enc utf8 -raw
上面贴子图片的中的内容
https://send.cm/d/BrWp
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

回复 9# flashercs


   奇怪, 这回替换没有动静了
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

回复 11# flashercs


   感谢大侠回复, 应该可以了!
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

返回列表