我正在尝试查找被 (
, )
或 ,
包围的空格的单词,并将它们用引号引起来。
例如在此表达式中 - Development life cycle
和 enterprise service bus
将用引号引起来。
编辑 - 只有短语,即它们之间包含空格的单词被换行
(AND(OR(SDLC,development life cycle),design,requirements,OR(biztalk,Websphere,TIBCO,Webmethods,ESB,enterprise service bus)))
最佳答案
(?<=[(,])([^(),]* [^(),]*)(?=[),])
试试这个。参见 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);
关于用于查找单词和引号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29492068/