【发布时间】:2013-07-29 18:41:55
【问题描述】:
问题:
匹配正则表达式的每个字符最多出现一次的单词。
单词必须有一定的大小,比如说“{2,5}”
单词中必须有一个特定的字符,比如 char "e"
我有什么:
word.matches("^[abcde]{2,5}$");
这匹配字符 a、b、c、d 和 e 出现 0..5 次的所有单词。因此,即使“abba”两次使用字符“b”而“dead”两次使用字符“d”,单词“abba”和“dead”也会匹配。如果字符“e”在单词中,表达式也会忽略。
我想要的是一个匹配,其中每个字符最多使用一次,单词长度为 2-5 个字母,字符“e”在单词中。例如,合法匹配将是“珠子”,因为每个字符最多使用一次,并且字符“e”在单词中。
【问题讨论】:
-
那将是一个复杂的正则表达式。我建议根本不要使用正则表达式。正则表达式不能“在字符串中的任何位置匹配一次”。