我有一个看起来像的字符串
"<input id=a/>"<input id=b/>"<input id=c/>etc.
我需要把它改成
"<input id='a'/>"<input id='b'/>"<input id='c'/>etc,
任何想法如何?
最佳答案
在 C# 中,您可以将其编写为:
resultString = Regex.Replace(subjectString, @"(<.*?id\s*=\s*)(\w+)(.*?>)", "$1'$2'$3", RegexOptions.Multiline);
在 VB.Net 中,它只是:
ResultString = Regex.Replace(SubjectString, "(<.*?id\s*=\s*)(\w+)(.*?>)", "$1'$2'$3", RegexOptions.Multiline)
在规范的 Perl 中,您可以将其编写为:
$subject =~ s/(<.*?id\s*=\s*)(\w+)(.*?>)/$1'$2'$3/mg;
在 PHP 中:
$result = preg_replace('/(<.*?id\s*=\s*)(\w+)(.*?>)/m', '$1\'$2\'$3', $subject);
在 Java 中:
resultString = subjectString.replaceAll("(?m)(<.*?id\\s*=\\s*)(\\w+)(.*?>)", "$1'$2'$3");
在 JavaScript 中:
result = subject.replace(/(<.*?id\s*=\s*)(\w+)(.*?>)/mg, "$1'$2'$3");
关于regex - 正则表达式 : How to put single quotes around XML attribute values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366054/