使用正则表达式对表达式的每个术语和运算符进行匹配和分组

2023-12-26

我搜索了几篇文章,试图找到一种方法来检索表达式的每个术语和运算符,如下所示:

`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 split方法会容易得多:http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.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 day", "-", "2 days" ]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用正则表达式对表达式的每个术语和运算符进行匹配和分组 的相关文章

随机推荐