如何提取引号(双引号或单引号)
问题描述:
问题1字符串:如何提取引号(双引号或单引号)
例如,
... "ab'cd" ... 'ab"cd' ...
应该分别得到ab'cd
和ab"cd
。可能有很多引用的字符串。
问题2:
以及如何提取从以下字符串text <td>...</td> text
?
<abc>text <td>...</td> text</abc>
<xyz>text <td>...</td> text</xyz>
<def>text <td>...</td> text</def>
ABC,DEF,XYZ可以嵌套在<td>
。
答
我想通了 - 使用后向引用。
(["'])(?<q>.+?)\1
答
正则表达式:
(?:"(?<text>[^"]*)")|(?:'(?<text>[^']*)')
和整个片段:
Regex regex = new Regex(
@"(?:""(?<text>[^""]*)"")|(?:'(?<text>[^']*)')",
RegexOptions.None
);
可测试上my blog(需要的Silverlight)
答
之前第一问题用途:
("(?<content>[^"]*)")|('(?<content>[^']*)')
为第二问题:
>(?<content>\w*\s*<td>.*</td>[\w\s]*)<
并获得组名为内容两种。
它是为了避免写的方式'(? [^“] *)'两次吗?它可以是一个很长的复杂图案。 –
ca9163d9
2012-07-06 21:26:22