字符串集的正则表达式

时间:2017-06-14 08:54:46

标签: regex regular-language

我想生成三个正则表达式

  1. 首先是包含2G
  2. 的字符串
  3. 其次是包含3G的字符串
  4. 第三个是包含4G的字符串
  5. 字符串集是:

    - 4 GB+ 2 GB Night 3G/2G Data    #matches the exp generated by 1 and 2
    - 500 MB 4G/3G data              #matches the exp generated by 3 and four 
    - 3GB 2G/3G/4G data              #matches all the three
    - 2GB 4G/3G/2G Data
    

    我所做的表达也是捕捉'2GB''3GB''4GB'。我想摆脱包含'B'的exp。我是正则表达的新手。请为上面的内容提出正确的表达方式。

1 个答案:

答案 0 :(得分:0)

要区分3GB3G,您需要确保该字词在G之后结束。这可以使用字边界来完成。在正则表达式中,它完成了序列\b

因此\b[2-4]G\b确保在234之前没有字母或数字,并且在{{1}之后也是如此}}

Here's an illustration what it matches, and some that it doesn't, at regex101