gpt4 book ai didi

java - 如何编写正则表达式模式来识别以特定字符开头和结尾的单词

转载 作者:行者123 更新时间:2023-11-30 05:37:51 25 4
gpt4 key购买 nike

我想找到以@@_开头并以_@@结尾的单词。需要将其编写为 java Regex Pattern。

示例:abcd erhjr @@_dhsdj_@@ dshdgj andaj edwyhu @@_dgayw_@@ nssd。

正则表达式应该找到@@_dhsdj_@@@@_dgayw_@@

我尝试使用,

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

最佳答案

您可以使用像这样的正则表达式

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

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

请参阅regex demoJava demo .

您可以考虑使用空格进行拆分,然后从结果数组中获取以 @@_ 开头并以 _@@ 结尾的任何项目:

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

请参阅Java demo .

关于java - 如何编写正则表达式模式来识别以特定字符开头和结尾的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56254376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com