Java 如何选择与特定单词不相交的一个或多个字符

Java 如何选择与特定单词不相交的一个或多个字符,java,regex,Java,Regex,我有一个简单的问题。 我想选择一个或多个与特定单词不相交的字符(起始和结束短语) 我想从下一个文本中选择1234,efghijabcklmn String now = "abcd"; String next = "1234abcdefghijabcklmn"; 我试过^abcd,^(abcd),[^a][^b][^c][^d]什么都不管用。我知道这可以通过拆分和标记化来实现。但我想通过正则表达式 我知道这可以通过拆分和标记化来实现。但是我想要它 通过正则表达式 好吧,只将regex作为参

我有一个简单的问题。 我想选择一个或多个与特定单词不相交的字符(起始和结束短语)

我想从下一个文本中选择1234,efghijabcklmn

String now   = "abcd";
String next  = "1234abcdefghijabcklmn";
我试过^abcd,^(abcd),[^a][^b][^c][^d]什么都不管用。我知道这可以通过拆分和标记化来实现。但我想通过正则表达式

我知道这可以通过拆分和标记化来实现。但是我想要它 通过正则表达式

好吧,只将
regex
作为参数。既然这个问题是分裂的理想候选问题,为什么不使用它呢

String now=“abcd”;
String next=“1234abcdefghijabcklmn”;
System.out.println(Arrays.toString(next.split(Pattern.quote(now)));
我知道这可以通过拆分和标记化来实现。但是我想要它 通过正则表达式

好吧,只将
regex
作为参数。既然这个问题是分裂的理想候选问题,为什么不使用它呢

String now=“abcd”;
String next=“1234abcdefghijabcklmn”;
System.out.println(Arrays.toString(next.split(Pattern.quote(now)));
只需拆分abcd

System.out.println(Arrays.toString("1234abcdefghijabcklmn".split("abcd")));
只需拆分abcd

System.out.println(Arrays.toString("1234abcdefghijabcklmn".split("abcd")));

100%同意!它可以用来完成工作。但我想学习如何编写正则表达式来实现这一点。我的目的不是为了得到分裂的结果。但我想学习如何用正则表达式写。如果我们可以在正则表达式中选择匹配的单词。一定也有相反的,对吗?@NamalFernando。不,没有办法像这样使用正则表达式。不能跳过一系列字符。您所能达到的最佳效果是使用如下模式:
(.*)abcd(.*)
,然后将组1和组2取回。确定。非常感谢Rohit。100%同意!它可以用来完成工作。但我想学习如何编写正则表达式来实现这一点。我的目的不是为了得到分裂的结果。但我想学习如何用正则表达式写。如果我们可以在正则表达式中选择匹配的单词。一定也有相反的,对吗?@NamalFernando。不,没有办法像这样使用正则表达式。不能跳过一系列字符。您所能达到的最佳效果是使用如下模式:
(.*)abcd(.*)
,然后将组1和组2取回。确定。非常感谢Rohit。100%同意!它可以用来完成工作。但我想学习如何编写正则表达式来实现这一点。我的目的不是为了得到分裂的结果。但我想学习如何用正则表达式写。如果我们可以在正则表达式中选择匹配的单词。一定有相反的,对吧?100%同意!它可以用来完成工作。但我想学习如何编写正则表达式来实现这一点。我的目的不是为了得到分裂的结果。但我想学习如何用正则表达式写。如果我们可以在正则表达式中选择匹配的单词。一定也有相反的,对吗?