如何在wordcount hadoop中用逗号,空格,句点(。),制表符(\ t),括号(),方括号[]和花括号({})字符分隔单词?

weefwefwqg3

我在这里与Cloudera一起练习MapReduce 但是,目前,该教程仅使用Java中的此正则表达式按空格分割单词:

private static final Pattern WORD_BOUNDARY = Pattern.compile("\\s*\\b\\s*");

但是,除了空格之外"\\s*",我还想通过逗号,句点(。)和制表符(\ t),括号(),方括号[]和花括号({})字符来定义单独的单词。换句话说,我将单词定义为具有一个或多个字母数字字符并由两个非字母数字字符界定的字符串。例如:

  • (cece54)有一个单词“ cece54”,其边界为 ()
  • {dwd]有一个词“ dwd”,其边界为 {]
  • xxx)的一个单词“ xxx”由<space>绑定)
  • 等等等等。

那么,如何编写我的正则表达式才能获得此要求?

安德烈亚斯(Andreas)

如果您将一个单词定义为一个或多个连续的字母数字字符,则拆分为一个或多个连续的非字母数字字符,即"\\P{Alnum}+""[^a-zA-Z0-9]+"

例如,参见regex101

您可以为第一个添加前缀(?U),例如"(?U)\\P{Alnum}+",以获得完整的国际Unicode支持。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档