【问题标题】:Java: String pattern : how to specify regex for all alpha characters with special charactersJava:字符串模式:如何为所有带有特殊字符的字母字符指定正则表达式
【发布时间】:2015-12-19 09:33:42
【问题描述】:

我想确保字符串只包含字母字符(带有特殊字符,如"é", "è", "ç", "Ç", "ï" 等)。

我这样做了,但是使用特殊字符返回 false...

if (myString.matches("^[a-zA-Z]+$")) {
    return true;
}

谢谢大家!

【问题讨论】:

  • 您要匹配only Latin letters 还是所有字母表中的字母? \p{L} 表达式匹配来自许多字母表的数万个字符。

标签: java regex string


【解决方案1】:

您可以使用Unicode Category:\\p{L}\\P{Letter} 来匹配来自任何语言的任何类型的字母。

if (myString.matches("\\p{L}+")) {
    return true;
}

顺便说一句,String.matches 尝试匹配整个字符串,因此不需要 ^$ 锚。

【讨论】:

  • falsetru,带空格符?
  • @anthony,您可以同时使用字符类来匹配两者:[\\s\\p{L}]+
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2011-03-19
  • 2013-04-04
  • 1970-01-01
相关资源
最近更新 更多