You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用带翻转子组的正则表达式匹配{xymyx}模式?

匹配xymyx模式的解决方案

可以用正则实现这个需求,而且是最简洁的方式之一。

正则表达式写法

直接使用带反向引用的正则:(.)(.).\2\1

  • (.):捕获第一个字符(对应模式里的x)
  • (.):捕获第二个字符(对应模式里的y)
  • .:匹配中间任意字符(对应模式里的m)
  • \2:引用第二个捕获组的内容(对应模式里的第二个y)
  • \1:引用第一个捕获组的内容(对应模式里的第二个x)

代码示例(以Python为例)

import re

target_str = '9132123867'
result = re.search(r'(.)(.).\2\1', target_str)
if result:
    print(result.group())  # 输出:32123

其他方案

如果字符串长度很短,也可以手动遍历检查每个长度为5的子串:

s = '9132123867'
for i in range(len(s) - 4):
    substr = s[i:i+5]
    if substr[0] == substr[4] and substr[1] == substr[3]:
        print(substr)
        break

但这种写法代码量更大,处理长字符串时效率不如正则,所以优先推荐正则方案。

内容的提问来源于stack exchange,提问作者spearritte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:52:02