正则表达式拆分“ word-operator-number”

时间:2018-09-21 04:53:25

标签: regex

我需要将season>=2015分为season>=2015。我正在使用这个。

(?<=[-+*/])|(?=[-+*/])

我是regex的新手。有人可以帮我吗?

4 个答案:

答案 0 :(得分:0)

您可以将3个令牌分为3个单独的组:

([A-Za-z]+)(\W+)(\d+)

演示:https://regex101.com/r/t8NPE7/1

答案 1 :(得分:0)

对于将season>=2015拆分为season>=2015的情况,您可以利用以下事实:它们被单词边界分开,因此可以使用\b对其进行拆分。 。以下是您可以使用的代码,

String text = "season>=2015";
String[] data = text.split("\\b");
Arrays.stream(data).forEach(System.out::println);

哪些印刷品

season
>=
2015

答案 2 :(得分:0)

您可以尝试以下方法:

([A-Za-z]*)(\D+)(\d+)

说明:

  • ([A-Za-z]+)匹配运算符之前的所有内容
  • (\D+)匹配运算符
  • (\d+)匹配数字

try at regex101.com

答案 3 :(得分:0)

您可以尝试以下模式:(\w+)([=><]{1,2})(\w+)

第一个捕获组(\w+)将匹配一个或多个单词字符-这将捕获操作符之前的所有内容。

第二个捕获组([=><]{1,2})将匹配运算符。

第三捕获组(\w+)将匹配操作员另一端的所有内容。

Demo

或者,您可以使用以下模式:([^=><]+)([=><]{1,2})(.+)

第一个捕获组([^=><]+)将匹配除运算符以外的所有内容。

其余部分大致相同:)

Demo