用于匹配捕获组中前面或后面的字母字符的正则表达式

2024-03-10

举例来说,我有以下数据:

ab
cd
ef
zy
ba
cd

我希望能够以匹配第一个字符的方式来匹配它,然后根据第一个字符的捕获组匹配第二个字符。

上面示例中的每一行都应该匹配,而类似cc or af不应该。

详细来说,我的想法看起来像这样:

(基于红宝石的正则表达式)

/^(?<first>[a-z])\g<first>$/

然而这匹配aa or ac这都是无效的,以及预期的ab.

有没有办法修改捕获组,或者用与我的意图类似的语法包围它?


正则表达式中没有字符算术。你将不得不走很长的路,并将你的比赛表达为一个长交替:

ab|ba|bc|cb|....

您可以轻松优化它:

ab|b[ac]|c[bd]...y[xz]|zy

不必费心编写代码来生成它:编写整个字符串应该需要两分钟。 (当然,除非你是@NeilSlater 或@AmalMurali——请参阅评论。)

看吧,我已经在

ab|b[ac]|c[bd]|d[ce]|e[df]|f[eg]|g[fh]|h[gi]|i[hj]...y[xz]|zy

你完成它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于匹配捕获组中前面或后面的字母字符的正则表达式 的相关文章

  • 在 Java/GWT 中解析用户时间输入

    解析用户在 GWT 中的文本字段中键入的时间的最佳方法是什么 默认时间格式要求用户完全按照区域设置指定的时间格式输入时间 我想要更加灵活 因为用户可以通过多种不同的方式输入时间 例如 8 8p 8pm 8 15pm 13 15 1315 1
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • 负向查找正则表达式 - 仅出现一次 - Java

    我正在尝试查找字符串是否包含only one一个词的出现 e g String jjdhfoobarfoo Regex foo gt false String wewwfobarfoo Regex foo gt true String jj
  • 正则表达式 - 如何从引号之间提取文本并排除引号

    我需要正则表达式方面的帮助 我需要创建一个规则来保留引号之间的所有内容并排除引号 例如 我要这个 STRING ID 0 Stringtext 变成了 Stringtext Thanks 做到这一点的方法是使用捕获组 然而 不同的语言处理捕
  • 正则表达式:如何获取组名称

    我有一个 NET 正则表达式 它看起来类似于
  • 使用正则表达式验证电子邮件的最大长度

    我找到了用于电子邮件验证的正则表达式 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4 我希望电子邮件的最大长度为 20 个字符 因此我将其更改为 a z0 9 a z0 9 a z0 9 a z0 9 a z 2 4
  • 查找和替换正则表达式问题

    感谢这里对我其他问题的所有大力帮助 我开始掌握正则表达式 但我仍然对这个一无所知 我的代码是 StreamReader reader new StreamReader fDialog FileName ToString string con
  • Python替换多个字符串同时支持反向引用

    有一些好方法 https stackoverflow com questions 6116978 python replace multiple strings处理 python 中的同时多字符串替换 但是 我在创建一个高效的函数来实现这一
  • 如何阻止“gem”实用程序访问我的主目录?

    当我跑步时 gem install
  • PostgreSQL & regexp_split_to_array + 取消嵌套

    我有这样的绳子 测试1 纽约 X 测试 2 芝加哥 Y 测试 3 宾夕法尼亚州哈里斯堡 Z 我需要的结果是 Column1 Column 2 Column3 Test 1 new york X Test 2 chicago Y Test 3
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • 正则表达式中的零宽度元素是什么?

    最近 我在正则表达式中看到 零宽度元素 这些是什么 能不能把它们当作幽灵数据 这样对于替换 就不会被替换 对于 匹配 他们不会进入matches 1 matches 2 etc 是否有针对其各种用途的良好教程 他们已经在这里呆了很长时间了吗
  • Rails 2.3.14:如何序列化 ActionController::Request 对象?

    我需要编写一些根据 Rails 2 3 14 控制器收到的请求对象类型执行操作的方法 但是 我不想启动整个应用程序 甚至不想启动控制器 我只想拥有这样一个对象的编组副本 以便我可以在 Rails 环境之外使用 不幸的是 ActionCont
  • 正则表达式:括号表达式中的双反斜杠

    以下表达式中的双反斜杠匹配什么 它是一个过滤器吗 and 转义反斜杠 或 and 未转义 或 and 逃避问号 这是正则表达式的链接以及一些示例测试字符串 如在Rubular http rubular com r Jrw1G4YLtT Th
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么?

    我的工作要求我为某些测试自动生成电子邮件 我一直在四处寻找 但一直未能找到可以快速实施的合理解决方案 它需要在 Outlook 中 而不是其他邮件服务器中 因为我们有一些奇怪的身份验证规则 并且我们需要保存草稿的选项 而不仅仅是发送消息 显
  • 正则表达式获取模式的最后一次出现

    我有一个字符串 我需要选择最后一次出现的模式 该字符串是 1302638400000 0 0 1302724800000 0 610 64999999999998 1302811200000 0 2266 6500000000001 130
  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len

随机推荐

  • 如何防止 Firebase 身份验证用户自行更改电子邮件地址?

    根据 firebase 文档 客户端 SDK 似乎允许直接更新电子邮件地址以及用户个人资料信息 https firebase google com docs auth android manage users update a users
  • C# 获取进程的CPU使用率

    我想获取特定进程的 CPU 使用情况 这段代码 total cpu new PerformanceCounter Processor Processor Time Total 效果很好 该数字对应于 Windows 中的 CPU 使用率 数
  • 如何改变 matlab 图的线条颜色(如颜色图)?

    我有一个二维空间 其中定义了一个函数值 您可以将其视为流形 现在 我使用轮廓绘制了函数值 并将颜色图更改为比 jet 更柔和的颜色 到目前为止看起来相当不错 现在我想画一条线代表我的空间中随时间变化的状态 这也可以使用plot命令 但我想要
  • 如何跟踪 ASP.net 中的调试消息?

    简洁版本 我已经添加
  • Laravel Carbon,检索今天的日期和工作日?

    我正在使用 Carbon 将 2 个日期与今天的日期进行比较 但是我在数据库中还有另一个名为工作日的字段 其中包含以下值 莫 你 我们 所以我不仅想按日期搜索和输出 还想按工作日搜索 所以 public function show id t
  • 将 JSON 反序列化为 C# 类

    下面是我在成功创建新的 工作代码 条目后从 REST API 获得的 稍微 精简的响应 我需要将响应反序列化到某些类中 但我很困惑 作为参考 我在 NET 3 5 中使用 JSON NET 在 SQL Server 2008 R2 中的 S
  • 使用变量调用[数据库].[架构]

    我试图操纵这个现有的代码 因为在测试时 它没有引用表的确切位置 我的意思是 它不引用表的数据库名称和架构及其表名称 示例 如果该表被调用 package 那么目前它只是在更新语句 package 中输出 而不是 Holidays dbo p
  • 在 OnGroupClickListener 中获取单击的组

    如何检索在 ExpandableListView 的 OnGroupClickListener 中单击的组 我尝试过parent getItemAtPosition groupPosition 它返回组和子项 所以我想我必须将groupPo
  • WPF 中 MVVM 的项目结构

    在 WPF 中使用 MVVM 时最终得到的项目结构是什么 从我现在看到的教程来看 他们通常有文件夹 Model ViewModel 和 看法 在模型中 您可以放置 像 Person 这样的类来捕获数据 和逻辑 在 ViewModel 中 您
  • 气流:在特定时间重试

    我需要创建一个绝对需要在 9 点之前运行的 Airflow 作业 我目前有一项工作从 7 小时开始 重试 8 间隔 15 分钟 8 15m 2 小时 不幸的是 我的工作需要更多时间 因此 任务在 9 小时 硬截止日期 后失败 我怎样才能让它
  • 如何正确缩进 Django 模板

    我在 SublimeText 3 中工作 在编写 Django 模板时 我混合了 html 和函数 我喜欢缩进我的代码 以便block if和其他此类声明均缩进 例如 手动格式化 extends accounts base html blo
  • 如何将 CNF 表达式重铸为 3-CNF?

    我有一个像这样的 CNF 表达式 我想将其重新转换为 3 CNF a b c d a b d a b d 有谁知道我该怎么做 A 3 CNF https math stackexchange com questions 56369 can
  • VB.NET - Array.Contains 的替代方案?

    之前 我在 NET Framework 3 5 上使用它并且运行良好 If New String ER PM EM OC Contains Session Position Then Some codes End If 现在我正在做一个使用
  • 模板渲染期间出现异常(“块类型 sonata.Admin.block.admin_list 不存在”)

    Hi我是新来的Symfony2并在生成我的管理面板时面临这个问题 在 SonataAdminBundle Core dashboard html twig 第 35 行渲染模板期间出现异常 块类型 sonata Admin block ad
  • Java(机器人)屏幕截图超出可见范围

    我想立即截取比我的屏幕大的整个网站的屏幕截图 我知道如何使用 Robot 类来截取可见区域的屏幕截图 我认为这样做的一种方法是 启动浏览器 进入所需网站 启动我的程序 程序将截取可见区域的屏幕截图 程序将向下滚动以使页面的后半部分可见并截取
  • EF 4.1 Code First 和现有数据库以及 .NET 成员资格

    我的开发盒上有一个名为 ApplicationName Development 的数据库在 SQL Server 2008 R2 Developer 版本上运行 我将 NET 成员资格表添加到数据库中没有任何问题 当我尝试让 Code Fi
  • 我想删除 HTML 空白

    我有一个新问题困扰着我 我正在制作一个网页 我希望在不滚动的情况下进行修复 最重要的是我希望我的主 Div 填满我的所有可用空间 我做了这个代码
  • 是否允许类型相同但大小不同的双关数组?

    类型相同但大小不同的双关数组仍然违反严格别名吗 int arr 4 int ref 2 reinterpret cast
  • xcode 5 中的 Shell 脚本调用错误

    我在我的项目中使用 openssl 和 sqlcipher 我必须从 Xcode 4 6 升级到 Xcode 5 但是我在 Xcode 5 中编译项目 它给我错误 cp libCrypto a 没有这样的文件或目录 Cp libssl a
  • 用于匹配捕获组中前面或后面的字母字符的正则表达式

    举例来说 我有以下数据 ab cd ef zy ba cd 我希望能够以匹配第一个字符的方式来匹配它 然后根据第一个字符的捕获组匹配第二个字符 上面示例中的每一行都应该匹配 而类似cc or af不应该 详细来说 我的想法看起来像这样 基于