JavaScript中的递归正则表达式模式
Recursive regex pattern in JavaScript
我知道这将是一个非常明显的答案,但我找不到任何关于如何做到这一点的信息。
我正在尝试在HTML字符串中取消捕获<
和>
我的测试输出字符串本质上是:
```php
>h2<Heading2>/h2<
```
`>h2<Heading2>/h2<`
>h2<Heading2>/h2<
因此,在这个例子中,我们有Github风格的Markdown,一个常规的code
Markdown片段,然后是具有相同HTML标记的原始文本。我想取消捕获原始标签(第三个),使其真正成为一个链接。理想的输出应该是这样的。
```php
>h2<Heading2>/h2<
```
`>h2<Heading2>/h2<`
<h2>Heading2</h2>
我一直在同一行中获取多个>
。
当前正则表达式:
/(?:.*?(>))/
这将获得第一个条目。
/(?:.*?(>))/g
这个得到了第二个条目。我希望它能够获得每一个条目。那么,这只是一个扔勾子的问题。
/(?:```|`)(?:.*?(>)).*?(?:```|`)/gs
如果您打算使用正则表达式执行此任务,可以考虑以下内容:
var r = s.replace(/((`(?:``)?)[^`]*'2)|>/g, '$1<')
.replace(/((`(?:``)?)[^`]*'2)|</g, '$1>')
.replace(/`[<>]+/g, '`');
工作演示
相关文章:
- _water_glass的javascript正则表达式模式
- 需要正则表达式模式的帮助
- 正则表达式模式与各种端点匹配
- JavaScript 中 URL 的正则表达式模式
- Java 与 Javascript 中的正则表达式模式
- 将Javascript正则表达式模式转换为C++std::regex的规则
- 如何从字符串构造正则表达式模式
- 城市和州正则表达式模式
- 如何在字符串上组合JS replace()方法中的3个正则表达式模式
- JavaScript中的递归正则表达式模式
- 正则表达式模式匹配特定单词
- 什么正则表达式模式将从包含的外部HTML文本中提取内部HTML
- 将特定的正则表达式模式与我的字符串匹配
- 为电子邮件开发正则表达式模式
- 将HTML5正则表达式模式转换为JavaScript正则表达式
- 我的正则表达式模式不起作用
- 将字符串中的正则表达式模式替换为依赖于匹配项的替换字符串
- 数字、字母块的正则表达式模式匹配
- Q>javascript 正则表达式模式
- 验证字符串是否为正则表达式模式的开头