正则表达式Java的两种模式同时使用吗?

时间:2018-11-03 13:45:24

标签: java regex

我正在尝试使用正则表达式模式对一些文本进行排序,而我已经有了类似的东西:

Pattern pattern = Pattern.compile("\\w{4,30}\\b");

如果我是对的,它应该给我4至30个字符长的字符串,但是我也不想在字符串中使用任何数字,也不知道如何同时制作两个过滤器,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用

"\\b(?!\\d+\\b)\\w{4,30}\\b"

请参见regex demo。这里的主要内容是word boundaries\b)和负lookahead结构,该结构限制了要匹配的单词的字符。

详细信息

  • \b-单词边界
  • (?!\d+\b)-当前位置右边的1个或多个数字不允许一直到单词的末尾
  • \w{4,30}-3至30个字符(字母,数字或_)的字符
  • \b-单词边界。