使用动态数量的反向引用

时间:2018-03-05 12:07:11

标签: regex backreference

有没有办法在正则表达式替换方案中循环所有后向引用?为了更好地理解我的要求:

鉴于您有以下文字

Item 1, Item 2, Item 3

当你的正则表达式匹配任意数量的项目,如

(([\w \d]+),?)*

然后你希望结果是行

<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ul>

基本上我在替换为字段中搜索正确的模式,例如在notepad ++或任何支持扩展正则表达式的编辑器: enter image description here

这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

你不能在一次更换中做到这一点,没有。但是,您可以使用多个替换来执行此操作。

如果你搜索正则表达式<li>\1</li>并替换为<li>$1</li>(或者<ul>。我不熟悉N ++的正则表达式引擎它将用HTML列表项替换每个列表项。

之后您需要做的就是在结果周围放置def dot(A,B): return (sum(a*b for a,b in zip(A,B))) 个标签。