正则表达式找到单词和包装引号

时间:2015-04-07 12:50:05

标签: regex

我正在尝试查找包含(),的空格的单词,并将它们用引号括起来。

例如在此表达式中,Development life cycleenterprise service bus将用引号括起来。

编辑 - 只包含短语,即包含它们之间空格的单词

(AND(OR(SDLC,development life cycle),design,requirements,OR(biztalk,Websphere,TIBCO,Webmethods,ESB,enterprise service bus)))

1 个答案:

答案 0 :(得分:2)

(?<=[(,])([^(),]* [^(),]*)(?=[),])

试试这个。请参阅DEMO

替换为"$1""\1"

string strRegex = @"(?<=[(,])([^(),]* [^(),]*)(?=[),])";
Regex myRegex = new Regex(strRegex, RegexOptions.Multiline);
string strTargetString = @"(AND(OR(SDLC,development life          cycle),design,requirements,OR(biztalk,Websphere,TIBCO,Webmethods,ESB,enterprise service bus)))" + "\n" + @" AND(OR(SDLC,""development life cycle""),OR(banking,AML,anti-money laundering,KYC,know your customer),OR(technology strategy,technical strategy,technical architecture,technology architecture,architect*)";
string strReplace = @"""$1""";

return myRegex.Replace(strTargetString, strReplace);