【问题标题】:Regex: help to finish a regex in rubular正则表达式:帮助完成 rubular 中的正则表达式
【发布时间】:2016-04-29 22:44:25
【问题描述】:

我需要帮助来完成以下上下文的 Perl 正则表达式:

[a-zA-Z:]

------------------------------------------
I have                      I need
------------------------------------------
> str(datasets::ris$)       datasets::ris
> plot(datasets::iris$      datasets::iris
str(datasets::iris$)        datasets::iris
plot(datasets::iris$        datasets::iris
str(iris$)                  iris
plot(iris$                  iris
plot(IRIs$                  IRIs
iris$                       iris
------------------------------------------

http://rubular.com/r/kyLAy679Ql

谢谢,

【问题讨论】:

  • 如果您需要 PCRE/Perl 正则表达式,为什么选择 Oniguruma 在线测试仪?
  • Rubular 与我正在使用的 pcre 兼容。
  • 不,rubular 支持 Oniguruma。 Regex101 支持 PCRE。
  • 好的,如果你在$之前需要字母字符和:,你真的可以使用[A-Z:]+(?=[$])

标签: regex rubular


【解决方案1】:

结果在http://rubular.com/r/IgInzqrwwX

您只需要在您的正则表达式[a-zA-Z:]+(?=\s*\$) 中添加前瞻

【讨论】:

    【解决方案2】:

    您可以将此正则表达式与可选的匹配和捕获组一起使用。您想要的文本在捕获的组 #1 中可用:

    /(?:[^(\n]*\()?([a-zA-Z:]+)/
    

    Rubular Demo

    【讨论】:

    • 所有匹配组都可以:谢谢。但我怎样才能得到它?我在 Delphi 下并使用 pcre。 sTmp:= RegEx(string, '(?:[^(\n]*()?([a-zA-Z:]+)', False); ShowMessage(sTmp);
    • 抱歉,我不了解 Delphi,但我确信获得一个捕获组会非常简单,因为它是所有正则表达式风格中支持的最基本的正则表达式操作。
    猜你喜欢
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多