我想生成三个正则表达式
字符串集是:
- 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。我是正则表达的新手。请为上面的内容提出正确的表达方式。
答案 0 :(得分:0)
要区分3GB
与3G
,您需要确保该字词在G
之后结束。这可以使用字边界来完成。在正则表达式中,它完成了序列\b
。
因此\b[2-4]G\b
确保在2
,3
或4
之前没有字母或数字,并且在{{1}之后也是如此}}
Here's an illustration what it matches, and some that it doesn't, at regex101