Regex 如何使用带有文字星号的正则表达式模式

Regex 如何使用带有文字星号的正则表达式模式,regex,Regex,我有两种字符串变体: 一些前缀。需要的部分*一些后缀 一些前缀。需要的部分 我只需要匹配“需要的部分” 左边界总是点 右边界为星号(如果存在)或行尾 已尝试: /.[.](.*)[*]./-正在处理第一个案例 /.[.](.*)/-正在处理第二种情况 如何对一个正则表达式执行相同的操作?您可以使用 /\([^*]+)/ 看 细节 \。-一个点 ([^*]+)-第1组:除*以外的任何一个或多个字符 您还可以通过在模式之前使用*确保获得最右边的匹配(如原始正则表达式中所示): /.\.([^*

我有两种字符串变体:

  • 一些前缀。需要的部分*一些后缀
  • 一些前缀。需要的部分
  • 我只需要匹配“需要的部分”

    左边界总是点

    右边界为星号(如果存在)或行尾

    已尝试:

    /.[.](.*)[*]./
    -正在处理第一个案例

    /.[.](.*)/
    -正在处理第二种情况

    如何对一个正则表达式执行相同的操作?

    您可以使用

    /\([^*]+)/
    

    细节

    • \。
      -一个点
    • ([^*]+)
      -第1组:除
      *
      以外的任何一个或多个字符
    您还可以通过在模式之前使用
    *
    确保获得最右边的匹配(如原始正则表达式中所示):

    /.\.([^*]+)/
    
    如果支持,您还可以使用lookback在左侧声明一个

    (?<=\.)[^*]+
    

    (?非常感谢。这个有用!非常感谢。这个也有用!