我正在尝试使用正则表达式模式对一些文本进行排序,而我已经有了类似的东西:
Pattern pattern = Pattern.compile("\\w{4,30}\\b");
如果我是对的,它应该给我4至30个字符长的字符串,但是我也不想在字符串中使用任何数字,也不知道如何同时制作两个过滤器,有什么建议吗?
答案 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
-单词边界。