在此字符串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
这可能吗?
答案 0 :(得分:0)
在pcre中,不支持您在注释中引用的样式.*
中a b-c(?<=a.*)d
后面的无限后视。
匹配[a-z] b c d e f
或a 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
)