【问题标题】:How can I find all regular expressions in a string?如何找到字符串中的所有正则表达式?
【发布时间】:2016-03-02 07:00:02
【问题描述】:

我正在寻找使用正则表达式,在内容块中查找正则表达式。

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

例如,我们想改变这个:

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

到这里:

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

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

【问题讨论】:

  • 从技术上讲,几乎所有字符串都是正则表达式。您也许应该细化您的要求。
  • 请提供一些真实世界的输入字符串以及您想要匹配的内容。此外,编程语言或编辑器会很好,并且有不同的引擎/风格(即支持什么等)。

标签: regex preg-replace


【解决方案1】:

正如 Jérémie B 在评论中所说,您必须“细化您的要求”。

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

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

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

  1. 一组 - 至少有一个字符 .*?[]^ 括在括号 () 中。
  2. 字符类 - 括号中的任何内容 []
  3. “速记”字符类,例如\w

可选地后跟一个量词。

this example at regex101

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

问候。

【讨论】:

    猜你喜欢
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多