当前位置: 首页 > 知识库问答 >
问题:

元音的正则表达式否定前瞻

蒲昀
2023-03-14

我想要一个 Java 正则表达式字符串,它可以在字符串中找到所有元音,除非它们:

  1. 是第一个字符或
  2. 下划线后面的下一个字符

AREA_ID变为AR_ID

LONG_NAME变成
LNG_NM

孤独的家变成了ALN

我曾经使用过http://gskinner.com/RegExr,现在我有了下面的正则表达式来替换所有元音字母,除非它是起始字符

(?!^[AEIOU])[AEIOU]

我想不出第二部分怎么弄(忽略紧跟在下划线后面的元音)。

共有1个答案

董飞
2023-03-14

我猜你正在使用JavaScript,在这种情况下,这将做到:

(?!(?:^|_))_?[AEIOU]

但是,如果您使用的正则表达式支持look kbehamds,请尝试以下操作:

(?<!^)(?<!_)[AEIOU]

请注意,需要两个lookbehind,因为lookbehin必须具有固定的长度,而“字符串的开头或下划线”没有固定的长度。

 类似资料:
  • 我发现一个很好的正则表达式检测音乐和弦。然而,当我添加“例如”和“been this way”之类的歌词或任何以音符开头的单词时,它就会被匹配。如何忽视这些? 音乐和弦的正则表达式: 链接到测试正则表达式:here

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 我目前正在玩正则表达式,试图更好地理解它们,并且有一个我现在似乎正在努力的场景,因为我不知道这是否可以通过正则表达式来实现。 我有这样的文本字符串 该清单可能仍在进行中。我想匹配(选择)内部关键字之间的空格。因此,在第二行中,它将是和之间的空格。 和我能够匹配关键字中包含多个单词的行。将第一部分<代码>( 编辑:假设这些行之间还有一些其他文本,所以简单的< code>\b不能作为正则表达式使用。

  • 主要内容:实例下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。