我有以下字符串:
car_0001_grp10|banana
我想隔离grp10
部分。所以我使用以下正则表达式:
[grp]+[0-999]+[^|]
这适用于grp10
,grp56
,grp999
等。
但不适用于grp1
到grp9
。我怎么能包括那些呢?
答案 0 :(得分:2)
您的[grp]+[0-999]+[^|]
匹配1个或多个字符g
,r
或p
,然后是1个或多个数字,然后是|
以外的1个必填字符
你需要
grp[0-9]+
或只抓1到3位数字:
grp[0-9]{1,3}
请参阅regex demo
grp
- 匹配一系列字符grp
[0-9]+
- 一位或多位数([0-9]{1,3}
将匹配1,2或3位数,000
与999
匹配。答案 1 :(得分:1)
如果你只是这样做怎么办?
grp\d+
该字符串可以通过哪些方式更改?你需要对它进行任何类型的验证吗?只有你需要我才会增加它的复杂性。