我有一个像
这样的字符串 AVPs_List,Vendor_Specific_Application_Id,3,AVP.Vendor_ID,0,AVP.Header,AVP.Code
我想regexp / regsub获得类似
的输出 AVPs_List,Vendor_Specific_Application_Id,3,AVP.Vendor_ID
实际上我想将模式“ ,[0-9], ”的最后一次出现的部分减去字符串的末尾。喜欢字符串< xxxx,9898,yyyy,87,zzzz,56,aaaa > ,我想得到< xxxx,9898,yyyy,87,zzzz >
我正在根据模式[0-9]进行正则表达式,并使用此代码
regsub {(,)([0-9]+)(,).*} $str1 "" $result
但字符串从第一次出现时被修剪,看起来像
AVPs_List,Vendor_Specific_Application_Id
请帮忙。
答案 0 :(得分:1)
您可以匹配,如下所示:
% set str1 "AVPs_List,Vendor_Specific_Application_Id,3,AVP.Vendor_ID,0,AVP.Header,AVP.Code"
AVPs_List,Vendor_Specific_Application_Id,3,AVP.Vendor_ID,0,AVP.Header,AVP.Code
% regexp {(.*),[0-9]+,} $str1 -> result
1
% puts $result
AVPs_List,Vendor_Specific_Application_Id,3,AVP.Vendor_ID
.*
贪婪且匹配多个字符,然后才匹配上一个,[0-9]+,
。