正则表达式出错在哪里?

时间:2015-10-19 08:18:38

标签: java regex

我必须检查字符串,以便字符串可以包含字母数字字符和/或下划线(_)。我在下面用Java编写了模式表达式。但它似乎没有用。

input

匹配的字符串示例是hello123_,hi_12hello,bhushu,12_,23等。 建议对模式表达式进行更改。

1 个答案:

答案 0 :(得分:5)

您当前的模式匹配

  • [A-Za-z0-9_]
  • 中的零个或多个字符
  • 后跟零或更多下划线
  • 后跟零个或多个数字

因此,它适用于您提供的任何示例,因为此处的第一个点与所有示例匹配,而其他示例可以为空。

但是,您可以更简单地将模式表达为:

String pattern = "[A-Za-z0-9_]*";

String pattern = "\\w*";

即。只是当前表达中的第一组。

请参阅Javadoc Pattern