Я практикую MapReduce с Cloudera turotial здесь. Однако в настоящее время учебник разделяет слова только пробелом с помощью этого регулярного выражения в Java:
private static final Pattern WORD_BOUNDARY = Pattern.compile("\\s*\\b\\s*");
Однако в дополнение к пробелу "\\s*"
я также хочу определить отдельные слова с помощью символов запятой, точки (.) и табуляции (\ t), круглых скобок (), квадратных скобок [] и фигурных скобок ({}). Другими словами, я определяю слово как строку, состоящую из одного или нескольких буквенно-цифровых символов, ограниченных двумя небуквенно-цифровыми символами. Например:
- (cece54) содержит одно слово "cece54", ограниченное
()
- {dwd] содержит одно слово "dwd", ограниченное
{]
- xxx) содержит одно слово «xxx», связанное
<space>
и)
- так далее и так далее.
Итак, как должно быть написано мое регулярное выражение, чтобы выполнить это требование?