Regex 在正则表达式中取消匹配字符串中的回文

Regex 在正则表达式中取消匹配字符串中的回文,regex,Regex,我试图去匹配在一组单词中观察到的回文。我能够写出语法来匹配回文。但是,我发现很难写出语法来去匹配回文并打印其余的 例如,语法应该与这组单词匹配 acritan aesthophysiology amphimictical baruria 留下这样的话 anallagmatic bassarisk chorioallantois coccomyces commotive engrammatic glossoscopia 如果你观察到上面的单词在中间有回文,比如 anallagmatic has

我试图去匹配在一组单词中观察到的回文。我能够写出语法来匹配回文。但是,我发现很难写出语法来去匹配回文并打印其余的

例如,语法应该与这组单词匹配

acritan
aesthophysiology
amphimictical
baruria
留下这样的话

anallagmatic
bassarisk
chorioallantois
coccomyces
commotive
engrammatic
glossoscopia

如果你观察到上面的单词在中间有回文,比如

anallagmatic has "alla" in the middle
engrammatic  has  "amma" in the middle
下面是我捕获回文的语法

(\w)(\w)\2\1

我需要一个与我上面的语法截取相反的语法

使用交替运算符

\S*(\w)(\w)\2\1\S*|(\S+)
从组索引3中获取所需的字符串

如果您使用的是PHP,则可以使用
(*SKIP)(*F)

您只需使用一个
负前瞻
来确保没有回文。请参阅演示


语言是什么?像赛车这样的回文呢?
\S*(\w)(\w)\2\1\S*(*SKIP)(*F)|\S+
^(?!.*?(\w)(\w)\2\1).+$