正则表达式 在单一组中捕获字符后面的字符本身或其他特定字符

正则表达式 在单一组中捕获字符后面的字符本身或其他特定字符

问题描述

我正在尝试处理一个代码,其中注释可以用以下方式表示: ! , !! , 或 !>

我想在一个单一组中匹配所有这些可能性,但是我尝试了到目前为止,无论我尝试什么,似乎都会将 !!!!> 等中匹配为单独的实体。

示例: https://regex101.com/r/u0vMY6/2

如果有人能帮助解决这个问题,那将非常棒,并帮助我取得进展。

更具体地说,我想通过匹配注释定界符后面有0个或2个以上的空格和一个单词来实现这一目标。

我在这里总结了我想要实现的内容: https://regex101.com/r/u0vMY6/4

如果需要,我可以将其拆分成多个检查步骤。

我对正则表达式并不是很熟悉,但是已经阅读了各种备忘单和stackoverflow问题,但是还没有找到解决方案。感谢任何帮助。

解决方案

你可以使用以下正则表达式:

查看 正则表达式演示 .

详细信息 :

  • ! [!>#]? - 一个 ! 字符后面跟着一个可选的 ! , > , #

  • - 两者之中的一个:

    • (?=[^\s!>#$]|\s{2}|\s\$) - 一个正向先行断言,如果其后紧跟着
      • [^\s!>#$] - 任何字符,除了空格、 !>#$
      • | - 或
      • \s{2} - 两个空格
      • | - 或
      • \s\$ - 空格,然后是一个 $
    • | - 或者
    • \$(?!\S) - 一个 $ 字符后面跟着一个空白边界
  • \s* - 零个或多个空格
  • (.*) - 第二组:剩余的字符串。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程