有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

否定整个单词的java正则表达式

我有以下场景,需要从字符串中提取RAM值,如下所示:

1GB, 4GB ROM Android 5.1 3G

RAM值为1GB

Currenlty,我使用以下正则表达式:

(\d+(?:\.\d+)?)\s?([Gg])[Bb]

然而,在本例中,我还得到了4GB值,它对应于ROM值。我如何编写正则表达式,使其在ROM单词之后不匹配

谢谢!


共 (1) 个答案

  1. # 1 楼答案

    您可以使用以下消极前瞻:

    (?i)\d+Gb(?!\s*ROM)
    

    它将匹配Gb后面的数字,但不匹配ROM