【问题标题】:Java regex allow only consonants [closed]Java 正则表达式只允许辅音[关闭]
【发布时间】:2017-10-31 10:45:07
【问题描述】:

我目前有正则表达式 "^[AEIOU 0-9]+$" 尝试只允许子字符串中的辅音,但这对我不起作用。我该如何解决这个问题?

编辑:该行的目的是在给定字符串包含除辅音以外的任何内容时产生错误,整行是:

if(authorCode.matches("^[AEIOU 0-9]+$")){
                return "ID Number not valid author";

【问题讨论】:

  • 你不能期望在字符类中匹配任何带有AEIOU 0-9的辅音。
  • 另外,^$ 强制正则表达式匹配整个字符串,而不仅仅是一个子字符串。请显示一些示例输入/输出和您正在使用的实际代码,以便我们提出更好的方法。
  • 您可以通过以[^ 开头来否定包含在[] 中的选择。但是,这将真正允许 一切 除了您枚举的内容。因此,最好使用几个范围明确列举所有辅音。

标签: java regex string


【解决方案1】:

我想你想要这样的东西:“[b-df-hj-np-tv-z]*”。 工作示例:https://regex101.com/r/BcQheO/1

另见:regex expression to match consonant

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多