我该怎么读这个bash的正则表达式?

时间:2016-04-25 14:42:41

标签: regex bash

我想问一下阅读正则表达式模式。我有正则表达式

"/^[ \t]*\/\*<O$firstline>\*\//,/^[ \t]*\/\*<\/O$firstline>\*\//s/\/\///g" $Path/DebugVersion.c

我该如何阅读这种模式?我需要一个关于这个正则表达式的解释。如果有人能向我解释,你可以回答这个问题。如果你回答这个问题,我感激不尽。

方面, Gustina M.S

1 个答案:

答案 0 :(得分:2)

这实际上看起来像sed表达式,它由两个表示范围的正则表达式和一个搜索/替换命令中的另一个正则表达式组成。该命令的基本结构是:

/START_EXPRESSION/,/END_EXPRESSION/ COMMAND

其中START_EXPRESSIONEND_EXPRESSION都是正则表达式,而COMMAND_EXPRESSIONsed命令,将执行这两个表达式(包括)之间的每一行。< / p>

为了说清楚,范围表达式是:

/^[ \t]*\/\*<O$firstline>\*\//,/^[ \t]*\/\*<\/O$firstline>\*\//

或者,把它分开一点:

  • START_EXPRESSION:/ ^ [\ t] * / ** //
  • END_EXPRESSION:/ ^ [\ t] * / *&lt; / O $ firstline&gt; * //

COMMANDs/\/\///g

评论者提供给https://regex101.com/的链接应该可以帮助您了解各个模式,sed手册页也将是一个有用的资源。