在使用正则表达式时如何反向引用组?



我正在使用TypeScript,我想从使用正则表达式的代码中删除所有的注释。下面是我的示例代码:

// this is awesome code
const a =1
// this is nice
const b = 2 // oh great

// with some indentation
const x = 99

我想保留新行,并想删除所有的行,所以最终输出应该像下面这样:

const a =1
const b = 2

const x = 99

要实现以上目标,我必须写regex:^( *//.*)n|( *//.*)

问题是我如何在或|条件后反向引用第一组?我不能做^( *//.*)n|(1)

注:我使用regex101.com测试

谢谢。

您可以使用以下正则表达式进行搜索:

^[ t]*//.*r?n|[ t]*//.*

并替换为空字符串

RegEx演示

RegEx细节:

  • ^: Start
  • [ t]*:匹配0个或多个水平空白
  • //:匹配//
  • .*:匹配直到行尾的所有内容
  • r?n:匹配可选回车,后跟换行字符
  • |: or
  • [ t]*:匹配0个或多个水平空白
  • //:匹配//
  • .*:匹配直到行尾的所有内容

最新更新