我搜索了几篇文章,试图找出一种检索每个术语和表达式运算符的方法,如下所示:
`now`+`1 day`-`2 days`
对于此表达式,我想分为5个小组:现在,+,1天,-,2天。
我想出的正则表达式如下:
`(never|now|\d+\s+(?:millisecond|second|minute|hour|day|year)s?)`(?:\s*(\+|\-)\s*`(never|now|\d+\s+(?:millisecond|second|minute|hour|day|year)s?)`)*
但是,使用此正则表达式,我只能分为三组:现在-2天。为了获得表达式中的每个单项和运算符,我应该进行哪些更改?请考虑该表达式应具有n个术语和n-1个运算符实例。
非常感谢您的帮助!干杯!
最佳答案
使用Java的String拆分方法会更容易:http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-
例如:
String blah = "`now`+`1 day`-`2 days`";
String[] blahArray = blah.split("`");
blahArray将包含:[“,” now“,” +“,” 1天“,”-“,” 2天“]
关于java - 使用正则表达式对每个术语和表达式运算符进行匹配和分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42633789/