java正则表达式从带有日期的较大字符串中排除特定权重
我有一些绳子 “今天我们收到了2014年12月31日g的货物。这些货物的重量为31.12g(2014年3月23日)。 2014年12月31日g——这不是错误。一些带有日期标签的文本有g字母(无空格) 我只需要从字符串中提取权重值(不含日期值), 但是我的正则表达式:java正则表达式从带有日期的较大字符串中排除特定权重,java,regex,extract,Java,Regex,Extract,我有一些绳子 “今天我们收到了2014年12月31日g的货物。这些货物的重量为31.12g(2014年3月23日)。 2014年12月31日g——这不是错误。一些带有日期标签的文本有g字母(无空格) 我只需要从字符串中提取权重值(不含日期值), 但是我的正则表达式: [0-9]+\[0-9]+g EXTACT日期:( 我的结果(两组): 12.2014g 31.12g您可以添加,以确保在您感兴趣的部分之前,没有您不想要的东西,而在您的情况下,这些东西似乎是您想要的 比如说1到10个数字,后面加
[0-9]+\[0-9]+g
EXTACT日期:(
我的结果(两组):
12.2014g
31.12g您可以添加,以确保在您感兴趣的部分之前,没有您不想要的东西,而在您的情况下,这些东西似乎是您想要的
- 比如说1到10个数字,后面加点,以防万一
31.12.2014g ^^^
31.12.2014g ^^^^^^^
- 还要确保我们将匹配整个值,而不仅仅是它的一部分
31.12.2014g ^^^
如果31.12.2014g ^^^^^^^
满足先前的反向查找条件,我们需要确保匹配零件前面不应有任何数字2.2014g
(?<!\\d{1,10}\\.)(?<!\\d)\\d+\\.\\d+g
输出:31.12g
您可以添加,以确保在您感兴趣的部分之前,没有您不想要的内容,而在您的情况下,这些内容似乎是
- 比如说1到10个数字,后面加点,以防万一
31.12.2014g ^^^
31.12.2014g ^^^^^^^
- 还要确保我们将匹配整个值,而不仅仅是它的一部分
31.12.2014g ^^^
如果31.12.2014g ^^^^^^^
满足先前的反向查找条件,我们需要确保匹配零件前面不应有任何数字2.2014g
(?<!\\d{1,10}\\.)(?<!\\d)\\d+\\.\\d+g
输出:
31.12g
您可以搜索空白:
\s[0-9]+\[0-9]+g/->“31.12g”
…始终假定正好有两个十进制位置:
[^\.][0-9]+\[0-9]{2}g/->“31.12g”
(但是,如果日期拼写为DD.MM.yyyg,则此操作将失败)
…或使用日期:
[0-9].[0-9]\.[0-9].[0-9].[0-9].[0-9].[0-9][0-9]g?+(\b[0-9]+\.[0-9]+g)/->“31.12.2014g我们收到货物。这些重量是31.12g”,“31.12g”
您可以搜索空白:
\s[0-9]+\[0-9]+g/->“31.12g”
…始终假定正好有两个十进制位置:
[^\.][0-9]+\[0-9]{2}g/->“31.12g”
(但是,如果日期拼写为DD.MM.yyyg,则此操作将失败)
…或使用日期:
[0-9].[0-9].[0-9].[0-9].[0-9].[0-9].[0-9][0-9]g?+(\b[0-9]+\.[0-9]+\.[0-9]+/->“31.12.2014g我们收到货物。这些重量是31.12g”,“31.12g”
是您数据中的日期格式总是dd mm.yyyyy
(有时带有g
)重量xxxxx.xxg
像123.00g
?或者日期像2014.12.31g
?数据中的日期格式是否总是dd.mm.yyyyy
(有时带有g
)重量xxxxx.xxg
像123.00g
?或者日期像2014.12.31g
也是可能的?谢谢!谢谢大家!谢谢大家!谢谢大家!