我有一个我要分开的字符串,但问题是你可以在下面看到我的字符串中的strTitle param在文本'sim,test'中包含一个逗号
如何使用正则表达式捕获结果并将逗号替换为‚
?
string strTest = "intWhole = 1, strTitle = sim, test, intClass = 3,";
答案 0 :(得分:0)
鉴于您的语言/平台支持前瞻,您可以尝试:
搜索:,(?!\s*$|\s*\S+\s*=)
替换为:‚
匹配任何逗号不后跟zero or more white spaces and then end of line
或zero or more white spaces, one or more non-whitespace characters, one or more white spaces and a = character
所以基本上任何逗号都不在声明的末尾(因为它们后面跟着行尾或新变量)
答案 1 :(得分:0)
试试这个正则表达式。每场比赛都应该有两个捕获组 - 名称和值。基本上,它会搜索开头或后逗号的字符串,然后捕获组会为您提供名称。然后匹配等号。然后,捕获组会为您提供值,后面必须跟字符串结尾或其他值(通过正向前瞻)。
此处的关键是 不 的值相等。
(?:^|(?:, )([a-zA-Z]+)(?: = )(.+)(?=$|(?:, [a-zA-Z]+ = ))
获得结果后,您可以在值中轻松替换逗号(取决于您使用的语言)。顺便说一句,上面是java正则表达式。