【问题标题】:Regular expression - look-behind正则表达式 - 回顾
【发布时间】:2012-10-24 14:42:57
【问题描述】:

我有这样的输入字符串:

left/1234567890

正则表达式:

(left(?<=/)[0-9]{10}?)

我想得到这样的结果:1234567890。 但它不起作用。

虽然,下一个输入字符串:

/1234567890

使用下一个正则表达式:

((?<=/)[0-9]{10}?)

按预期得到结果:1234567890。

【问题讨论】:

    标签: regex lookbehind


    【解决方案1】:

    这是因为您没有将 left 包含在您的后视中:

    ((?<=left/)[0-9]{10}?)
    

    在您的第一个示例中,您匹配 left,然后正则表达式引擎的“指针”在 t/ 之间,因此您的后向无法匹配,因为正则表达式引擎尚未通过斜线。

    【讨论】:

      猜你喜欢
      • 2023-02-22
      • 2018-01-02
      • 2012-02-27
      • 1970-01-01
      • 2021-03-21
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      相关资源
      最近更新 更多