我需要检查字符串是否包含以下任何字符:
A,A,A,E,E,I,O,O,O-,U,C
我在考虑做一个
“BLA”。载(regexExpression)
我在想什么?如果是这样,我该怎么办?我不知道正则表达式将如何
答案 0 :(得分:3)
看看regular-expressions.info。在那里,您可以找到关于如何使用正则表达式实现某些事物的良好参考。
请注意,如果整个字符串与正则表达式匹配,matches(regex)
将仅返回true。如果您只想知道其中一个指定的字符是否在String中,请使用:
String input = "blá";
input.toUpperCase().matches(".*[ÁÀÃÉÊÍÓÕÔÚÇ].*");
编辑:如果您需要匹配更多unicode字符,请查看regular-expressions.info unicode引用。
答案 1 :(得分:3)
Pattern regex = Pattern.compile("[ÁÀÃÉÊÍÓÕÔÚÇ]");
Matcher regexMatcher = regex.matcher(subjectString.toUpperCase());
if (regexMatcher.find()) {
// Successful match
} else {
// Match attempt failed
}
答案 2 :(得分:1)
我的经验,最好不要使用角色,而是使用十六进制表示。
例如:
'Á' - 0x00C1
'á' - 0x00E1
您可以在此处找到的任何符号的十六进制代码http://www.fileformat.info/info/unicode。只需将信件写入搜索栏。
你的正则表达式将是:
[\x{00c1}\x{00e1}]++
这适用于PHP。如果确定www.regular-expressions.info
,在Java中将是\ u00c1 \ u00e1您也可以使用范围:
ÀÁÂÃÄÅÆ will be [\u00c0-\u00c6]++
拉丁语补充
如果您需要查找Latin-1 Supplement范围内的任何符号,可以使用以下代码:
[\p{InLatin-1_Supplement}]++