我如何看待一个字?

时间:2019-03-03 01:29:58

标签: regex lookbehind

在此字符串a b-cd中,我想应用此正则表达式a b-c(?<=a)d

唯一的办法是像这样写a b-c(?<=a b-c)d,但是我不想在它后面写整个正则表达式来应用它,而只想看看这封信是否存在。

复杂的版本:(?:[a-z] )?b c d e f(?:(?<=a ) alphas) https://regex101.com/r/gyT6ix/1

这可能吗?

Regex Lookaround Reference

1 个答案:

答案 0 :(得分:0)

在pcre中,不支持您在注释中引用的样式.*a b-c(?<=a.*)d后面的无限后视。

匹配[a-z] b c d e fa b c d e d alphas的一个选项可能是使用看起来像(?(?=regex)then|else)的{​​{3}}

(?(?=a)\ba b c d e f alphas\b|[a-z] b c d e f)

关于正则表达式

  • (? If子句
    • (?=a)肯定右边的断言是a
    • \ba b c d e f alphas\b匹配a b c d e f alphas并使用单词边界来防止a和alpha成为较大单词的一部分
  • |
  • [a-z] b c d e f匹配char a-z和b c d e f )

查看if-then-else conditional