我正在尝试查找包含(
,)
或,
的空格的单词,并将它们用引号括起来。
例如在此表达式中,Development life cycle
和enterprise service bus
将用引号括起来。
编辑 - 只包含短语,即包含它们之间空格的单词
(AND(OR(SDLC,development life cycle),design,requirements,OR(biztalk,Websphere,TIBCO,Webmethods,ESB,enterprise service bus)))
答案 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);