当前位置: 首页 > 知识库问答 >
问题:

如何编写一个Regex模式来识别以特定字符开始和结束的单词

史同化
2023-03-14

Regex应该找到@@_dhsdj_@@@@_dgayw_@@

我试着用,

 Matcher m = Pattern.compile("@@_\b\S+?\b_@@").matcher(searchText);

共有1个答案

郎琪
2023-03-14

您可以使用类似于

List<String> result = new ArrayList<>();
Matcher m = Pattern.compile("@@_\\S*?_@@").matcher(searchText);
while (m.find()) {
    result.add(m.group(0));
}

@@_\s*?_@@将匹配@@_,然后是尽可能少的0个或更多的非空白字符,然后是_@@

请参见regex演示和Java演示。

import java.util.stream.Collectors;
// ...
List<String> result = Arrays.stream(searchText.split("\\s+"))
            .filter(i -> i.startsWith("@@_") && i.endsWith("_@@"))
            .collect(Collectors.toList());
 类似资料: