Regex应该找到@@_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演示和Java演示。
import java.util.stream.Collectors;
// ...
List<String> result = Arrays.stream(searchText.split("\\s+"))
.filter(i -> i.startsWith("@@_") && i.endsWith("_@@"))
.collect(Collectors.toList());
我有一些字符串,比如: 我的目标是使用一个RegEx来匹配以开始而不是以结束的所有字符串。我怎么写?
我在一个文件中搜索与Python中三种可能的regex模式之一不匹配的行。如果我单独搜索每一个,模式是: Pattern2和pattern3位于行的开始处(这些行严格地以)开始。字符串末尾的Pattern1。 我已经看到了将pattern2和pattern3与(我不确定格式是否正确)这样的方法。如何在单个regex搜索中也包括pattern1。我这样做的原因是跳过与这些模式中任何一个匹配的行。
我想用另一个数字替换字符串,它是一个方括号。我正在使用regex替换方法。 示例输入:
这就是我所拥有的,我可以识别大写和小写以及数字,但我需要帮助,如果它有abc,我需要它出来为“无效”,如果它是@或$等符号,我需要它是“既不是字母也不是数字”。
我有一个enum,其值如下:,,等。 我试图编写一个方法,它接受并返回该时间段的开始和结束日期。 我研究了新的Java8类,该类可能需要一个开始时间和结束时间,但似乎没有任何干净的方法可以在之后检索这些值。 如果不使用(似乎是错误的数据结构)或一些难看的日期时间算法,我如何能一次干净地返回开始日期和结束日期?