如何在字符串中找到所有正则表达式?

时间:2016-03-02 07:00:02

标签: regex preg-replace

我希望使用正则表达式来查找内容块中的正则表达式。

用例:我们想要一个内容块,并突出显示该内容中的所有正则表达式。

例如,我们想要改变这个:

This is some (.*) content the belongs to [w+]

对此:

This is some <span class="regex">(.*)</span> content the belongs to <span class="regex">[w+]</span>

有没有人看到过实现这个目标的方法?

1 个答案:

答案 0 :(得分:0)

正如JérémieB在评论中所说,你必须“改进你的要求”。

如果您可以限制RE并且只允许简单的RE,那么这样的事情可能会让您走上正轨:

((?:\([^)]*[.*?[\]]*\)|\\[wdsb0nfrtv]|\[[^]]*\])(?:\?|\*|\+|\{\d+(?:,\d+)?\})?)

它基本上处理三种类型的RE。

  1. 一个组 - 括号.*?[]^中至少包含一个字符()
  2. 字符类 - 括号[]中包含的任何内容。
  3. “速记”字符类,例如\w
  4. 可选地后跟量词。

    请参阅this example at regex101

    这很粗糙,但可能对你有帮助。

    问候。