【发布时间】:2022-12-11 20:29:11
【问题描述】:
我只需要使用正则表达式将“p-type”的值替换为“p-kind”,例如:
输入:
<button p-type="foo">
anything
</button>
输出:
<button p-kind="foo">
anything
</button>
“p-type”属性可能不是第一个,但即便如此也应该改为“p-kind”,例如:
输入 :
<button anythingProperty p-type="foo">
anything
</button>
输出:
<button anythingProperty p-kind="foo">
anything
</button>
如果标签不是按钮,则“p-type”仍然存在,例如具有此属性的 div 将不会更改。
我可以使用以下表达式进行更改:(p-type)([a-zA-Z0-9:]*)。
但这对所有人都发生了变化,我只想将 <button></button> 分组
【问题讨论】:
-
您确实意识到
p-type是无效的 HTML5 属性,对吧?请改用data-*属性。此外,使用正确的 DOMParser,而不是 RegExp。 -
您可以使用 2 个捕获组
(<button\b[^<>]* p-)type(="[^"]*"[^<>]*>)regex101.com/r/r8lmwD/1 并替换为$1kind$2但考虑使用 dom 解析器。 -
@RokoC.Buljan 感谢您的回答。我使用的这个组件是定制的,它有这个属性
-
@Thefourthbird 这显然有效。太感谢了!
标签: javascript html regex regex-group regexp-replace