【问题标题】:How to find consonant clusters with regex?如何使用正则表达式找到辅音簇?
【发布时间】:2015-03-08 19:35:04
【问题描述】:

我想用正则表达式找到consonant clustersexamples 中的 mpl 是集群的一个示例。

首先,我过滤掉了所有元音并用空格替换它们。过滤掉元音后,examplesx mpl s

如何过滤掉 xs

【问题讨论】:

  • “整理”是什么意思?
  • 您的输入和预期输出是什么?你想只匹配辅音吗?
  • 术语“辅音簇”没有单一的、明确定义的含义。您需要添加要匹配的确切定义。
  • 当您将元音更改为空白时:搜索\b.\b并替换为空白 - 以删除所有孤立的字母,留下至少两个序列?喜欢RegEx101
  • 嗯,好的,抱歉描述不好。我有一个 excel 表,里面有大约 1200 个单词。在这些词中,我必须找到一组辅音。这些簇由 2 个或更多辅音组成。我只是手动计算它们并记下每个簇中的辅音数量。为了更容易,我去掉了元音(我不需要计算它们),现在我想去掉 SINGLE 辅音,因为我也不需要它们。我希望你知道我的意思:D

标签: regex expression regular-language


【解决方案1】:

好像你想要这样的东西,

(?:(?![aeiou])[a-z]){2,}

(?![aeiou])[a-z] 表示从小写字母中选择任何字符,但不能选择aeiou

DEMO

  • (?![aeiou])[a-z] 匹配小写辅音

  • (?:(?![aeiou])[a-z]){2,} 两次或更多次。

【讨论】:

    【解决方案2】:

    由于您对“辅音簇”的工作定义是连续两个或多个辅音,您可以简单地使用以下模式(如果您想处理大写辅音,则不区分大小写):

    [bcdfghjklmnpqrstvwxyz]{2,}
    
    • [bcdfghjklmnpqrstvwxyz] – 一个简单的辅音白名单字符类(即只匹配辅音)
    • {2,} – 两个或多个连续

    您可以针对related regex fiddle 中的几个输入字符串测试该模式。

    注意,因为元音是 "aeiou有时 y”,我已将y 包含在上述辅音的白名单字符类中。

    您可以删除y 并使用...

    [bcdfghjklmnpqrstvwxz]{2,}
    

    ...如果您想无条件地将 y 视为元音而不是辅音;但是rules for when y is a consonant 比简单的正则表达式处理的要复杂一些(基本上要求您首先识别音节,然后是 y 在其中的位置)。 p>

    【讨论】:

      【解决方案3】:

      将评论变成答案……

      当您将元音更改为空白时:搜索\b.\b(或\b\w\b 以更好地定位)并替换为空白 - 删除所有孤立的字母,留下至少两个序列。

      点赞RegEx101

      【讨论】:

        猜你喜欢
        • 2012-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-28
        • 2011-09-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多