正则表达式删除重复字母但不删除数字

2023-12-07

删除相邻重复字母但不删除数字的适当正则表达式是什么?

例如:

p11ppppl  --> p11pl

我有以下正则表达式:

 /[^\w\s]|(.)(?=\1)/g

但这也会替换重复的数字。


我会这样做(可视化here):

/([a-zA-Z])(?=\1)/g

下面是一个 Python 示例:

In [21]: re.sub(r'([a-zA-Z])(?=\1)', '', 'p11ppppl')
Out[21]: 'p11pl'

您还可以使用:

/([\D])(?=\1)/g

对于除数字之外的所有内容,或者:

/([\w])(?=\1)/g

对于所有“单词字符”。

As @卡西米尔和伊波利特评论中提到,我们还可以使用:

/([a-zA-Z])\1+/g

with \1作为替换字符串,这可能是更好的方法。

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

正则表达式删除重复字母但不删除数字 的相关文章

  • 捕获组内贪婪修饰符的奇怪行为

    考虑以下命令 text lt abcdEEEEfg sub c E text 1 ab EEEfg lt lt lt OKAY sub c E text 1 ab EEfg lt lt lt WEIRD sub c E text perl
  • Preg_replace的效率

    执行摘要 preg replace 比字符串比较运行得更快 为什么 正则表达式不是应该更慢吗 In a 最近的问题 https stackoverflow com questions 3487781 php check string for
  • 匹配前面没有字符的模式

    我想让我的正则表达式匹配一个模式 前提是它前面没有字符 抑扬顿挫 就我而言 我的正则表达式 w g 用于测试的文本 Test Anotherword 匹配 Test 和 Anotherword 即使后者前面有扬抑符 我试图通过插入来阻止 在
  • python - 分割字符串而不删除分隔符

    我试图在不删除分隔符的情况下拆分字符串 但这样做遇到了麻烦 我要分割的字符串是 9 4 3 2 我想结束 9 4 3 2 但我尝试过的一切都没有奏效 我正在通过这个 stackoverflow 帖子寻找答案以及谷歌 Python split
  • 仅从 URL 获取 URI 段

    我正在尝试使用正则表达式获取 URI 段 示例 URI http abc com hello hi bye humm ok hi ya yaya wow waaah 我在尝试 lt w r g 但它不能正常工作 查询字符串没有被排除 wow
  • 如何为复杂的印度尼西亚电话号码格式构建正则表达式?

    最近 我正在使用regexpal http regexpal com构建这个自定义正则表达式 我正在处理印度尼西亚电话号码的几个测试用例 这是一个简单的例子08xx 3456 7890 or 08xx34567890 但如果我得到以下格式
  • 使用高级正则表达式在java中分割字符串

    我正在尝试在java中使用String split 将整个文档拆分为子字符串 制表符空格和换行符 但我想排除引号之间存在单词的情况 Example 这个文件 CATEGORYTYPE1 CATEGORYSUBTYPE1 OPTION1 AB
  • Javascript 正则表达式 Lookbehind 替代方案

    我想用非空格来捕捉单词 var paragraphy Apple banana ki iler ki rnek foo var word ki iler var regex new RegExp s gt word lt s gi cons
  • 将存储在变量中的正则表达式与量词组合的正确语法是什么?

    我知道堆栈溢出中已经有很多关于在正则表达式中使用变量的问题 并且如果变量是一个单词 或者只需要匹配一次 我设法使其工作 但是 一旦我添加特殊字符 空格和量词 我就无法让它匹配 例如 我想匹配中的任何内容some var任何包含它的 3 个连
  • grep 以特定字符串开头的行

    我想找到文件中以特定字符串开头的所有行 问题是 我事先不知道字符串里有什么 该值存储在变量中 天真的解决方案如下 grep my string file txt 因为如果 Bash 变量my string包含任何正则表达式特殊字符 grep
  • 正则表达式 在 Coldfusion 中匹配整个单词字符串

    我正在尝试这个例子 第一个例子 keyword star myString The dog sniffed at the star fish and growled regEx b keyword b if reFindNoCase reg
  • 在这些情况下限制破折号的正则表达式模式

    Scenario 我正在使用第三方文件重命名软件 该软件是用 Delphi 编写的 并且具有 pascal 脚本支持 该应用程序允许使用正则表达式来重命名文件 这意味着 如果我需要对文件名执行的操作不能仅使用一个正则表达式来完成 那么我可以
  • 如何在 python 2.7 中使用 re.UNICODE?

    我正在尝试使用 re UNICODE 标志来匹配可能包含 unicode 字符的字符串 但它似乎不起作用 例如 Python 2 7 12 default Dec 4 2017 14 50 18 GCC 5 4 0 20160609 on
  • sed:用匹配的模式替换第 n 个单词?

    我有一个具有以下特征的文本文件 每行至少有三个由空格分隔的 单词 单词 可以是任何字符或字符串 我在一些行中附加了一些注释 并提出了对原始单词进行更改的初步建议 现在想使用 sed 为我进行这些更改 因此 为了提供更清晰的图片 我的文件如下
  • 如何去掉所有标签并得到纯文本?

    我必须将用户输入文本存储在我的数据库中HTML and CSS格式 案例是 Rad编辑器 http www telerik com products aspnet ajax editor aspx 用户将文本从 MSWord 复制到此编辑器
  • 将匹配的值传递给函数,并替换为返回值

    我如何让 Bash 匹配正则表达式 而不是用常量字符串替换值 而是将匹配的值传递给函数 然后从函数的返回值中获取要替换的值 像下面的伪代码一样 它替换了每一个匹配项 a d 具有相同的字符 但大写 function uppercase ec
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • Mac 上使用 Excel VBA 进行正则表达式

    我需要将 regEx 与 Excel VBA 一起使用 我使用的是 Mac OS 10 10 和 Office 2011 因此没有可以使用的 DLL 文件 这里有什么可做的 我读到我必须绑定一个苹果脚本 这是如何完成的以及该脚本需要什么内容
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 忽略正则表达式匹配的嵌套括号内的逗号

    我有以下正则表达式 s s g这允许我匹配由逗号分隔的元素 同时忽略内部的逗号 有这个 a b c aaa bbb ccc d 我明白了 a b c aaa bbb ccc d 现在 我想升级它以考虑另一个级别的括号 我不想考虑任何级别 我

随机推荐