regex - 需要匹配具有两个相同字符的字符串
问题描述
正则表达式的完整新手,我需要一个正则表达式,它匹配以相同字符开头和结尾的字符串,中间可以是任何东西(偶数)
我已经尝试了一些东西,但我无法让它与以下文本案例相匹配:
5 (true)
a (true)
b (true)
ab (false)
aba (true)
"(\"|\')whatever\\1"
是我到目前为止所拥有的,但它不适用于所有字符串
解决方案
利用:
^.$|^(.).*\1$
1 个字符的字符串的大小写会被特殊处理,因为您不能在一个模式中将同一个字符匹配两次。第二种选择将第一个字符放在捕获组中,然后在最后将其与反向引用匹配。
处理 1 字符大小写的另一种方法是将第一个字符之后的所有内容设为可选。
^(.)(?:.*\1)?$
推荐阅读
- r - 如何将 case_when() 用于独占多个条件
- python - 无法在 Google Colab 中读取 csv 文件
- ios - Expo APNs 令牌 InvalidRegistration
- c# - 从 Outlook 获取电子邮件时,VSTO C# 中的 For 循环的性能问题
- api - openstack 如何通过计算 API 或连接 API 获取已删除的服务器列表
- c# - 使用 c# 在 azure bot 中结束对话反馈
- flutter - 使用颤振将sqlite db转换为pdf格式
- php - Laravel 5.8:试图获取非对象的属性“顺序”
- node.js - TS4090 节点定义冲突
- c# - 我无法控制的身份提供者的基于角色的 JWT 的最佳实践