问题标签 [recursive-regex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
280 浏览

php - 带有乱码文本的递归正则表达式?获取“数组数组”

我问了一个类似的问题,但由于过于宽泛而被关闭。基本上,我有很多这样的问题。我希望只是问一个会更容易。我尝试了一些不同的方法来解决这个问题,但它们都没有真正起作用。

我有一个包含大量数据的文本文件。我感兴趣的唯一数据位于两个括号“(”“)”之间。我想知道如何将括号之间的每个信息实例放入数组中。

我现在使用的代码返回ArrayArray

0 投票
1 回答
87 浏览

php - `preg_match_all()` 产生不正确/空的结果

问题

为什么我会得到错误的结果?我怎样才能得到想要的结果?

输入文件

两个版本的代码,有问题

版本 1:

此代码不返回任何内容。

版本 2:

这返回vulture (wing mat (box animal belly (oval jackal's belly; jester slope of hill (arch

所需的输出

vulture mat animal belly jackal's belly; jester slope of hill

显着差异

vulture **(wing** mat **(box** animal belly **(oval** jackal's belly; jester slope of hill **(arch**

0 投票
0 回答
222 浏览

perl - 如何在一组匹配的括号之间提取谁的文本

可能重复:
正则表达式匹配外括号
我可以使用 Perl 正则表达式匹配平衡文本吗?

我想提取具有匹配数量的右括号的整个文本。这是示例文本。

有没有一种简单的方法可以提取仅属于 Big String 1 的整个字符串?我想要的结果是这样的:

谢谢,

0 投票
1 回答
93 浏览

php - 如何在 RegEx 中找到特定模式的多个实例?

目前(在 PHP 中)我有以下正则表达式模式:

这匹配 [doSomething 限制=真]

最终结果是我的代码将解释该字符串并将其替换为编码为返回的任何值。

但是,我的一些代码需要通过函数发送多个变量,例如:

[doSomething 限制=true otherlimitation=false sendfile=1 title="你好"]

如何使正则表达式中的 (. )=(. ) 可重复,以便它匹配通过发送的每个变量,包括函数的第一个(最重要的)名称?

0 投票
3 回答
350 浏览

javascript - 编写此代码以转义 HTML 内容的更好方法

我有富文本内容的字符串

例如这样的东西

现在我不希望脚本出现在上述内容中,如果存在的话

所以如果我的内容看起来像这样

需要替换为

我目前已经为它开发了正则表达式

所以我的代码看起来像这样

所以结果内容将有脚本标签转义

谁能建议我更清洁的方法来实现这一目标?

0 投票
1 回答
178 浏览

php - 解析平衡的嵌套 wiki 模板并通过正则表达式提取单行参数的内容

我知道解析嵌套字符串或 HTML 最好由真正的解析器完成,但在我的情况下,我有简单的模板,并且想从模板中提取 Wiki 参数“标题”的标题内容。我花了一段时间才实现这一点,但感谢 Lars Olav Torvik ( http://regex.larsolavtorvik.com/ ) 的正则表达式工具和这个用户论坛,我得到了它。可能有人觉得它有用。(我们都想贡献,他,不是吗?;-) 以下带有注释的代码可以解决问题。我必须通过环顾断言来做到这一点,以便在其中一个没有标题的情况下将两个模板混合在一起。

我还不确定正则表达式注释中的两个问题——看看(?# Questions: …)——我是否理解(?R). 是不是它从最外层定义的级别(即第二个正则表达式行\{\{和最后一个正则表达式行)获取要检查的内容\}\}?那会是正确的吗?+++之前的替代展位工作有什么区别(?R),所以在测试时似乎如此。

  1. 页面上的原始 wiki 模板(最简单):

    /li>
  2. 替换:

    /li>
  3. 然后输出带有每个模板上方由 TITLE 标记的标题,但前提是有标题:

    /li>

关于正则表达式理解或一些改进的问题有什么问题吗?谢谢,安德烈亚斯。

0 投票
4 回答
366 浏览

java - Java regex:如何替换括号内的所有字符?

我该如何更换:

用正则表达式?

谢谢,J

0 投票
1 回答
4266 浏览

c# - 使用正则表达式 c# 递归获取内部模式

我知道.net 中有几个关于正则表达式递归的问题。我可以编写一些复杂的正则表达式,但这种递归超出了我的范围,我只是无法编写它。

这是最接近我想要的问题。

第一个问题, 第二个问题

但它匹配整个字符串,我希望集合中的匹配最好是最里面的匹配,或者按某种顺序。它还匹配一个开始字符和一个结束字符。我的是 2 个字符用于打开和关闭,[!和 !]

我的输入字符串将是这样的。

我需要先找到最里面的部分,[!a='innertest' b='innervalue'!],然后通过我的一个表达式树对其进行评估。然后评估包含它的父级。

有人能帮忙吗?

0 投票
2 回答
534 浏览

regex - 带有模式的递归 PCRE 搜索

这个问题与 PCRE 有关。

我已经看到了对与此构造一起使用的嵌套括号的递归搜索:

这样做的问题是,虽然 ' [^()]+ ' 可以匹配任何字符,包括换行符,但您只能匹配单字符字符,例如大括号、方括号、标点符号、单个字母等。

我想要做的是用任何类型的模式(例如,'BEGIN' 和'END' 之类的关键字)替换'(' 和')' 字符。

我想出了以下构造:

这实际上适用于如下所示的内容:

这成功匹配任何嵌套的 BEGIN..END 对。

我分别为BEGINEND设置了命名模式pattern1pattern2。在搜索词中使用pattern1效果很好。但是,我不能在搜索结束时使用pattern2:我必须写出' END '。

知道如何重写这个正则表达式,所以我只需指定一次模式并在代码中“无处不在”使用它们吗?换句话说,所以我不必在搜索的中间和最后都写END 。

0 投票
1 回答
670 浏览

php - 关于递归模式的php正则表达式

我有这个代码:

这给了我这个输出:

一切都好!但是如果我改变一点字符串和正则表达式:

我没有得到任何输出。为什么?我期望相同的输出。