问题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>
。
答案 0 :(得分:2)
正则表达式:
(?:"(?<text>[^"]*)")|(?:'(?<text>[^']*)')
以及整个片段:
Regex regex = new Regex(
@"(?:""(?<text>[^""]*)"")|(?:'(?<text>[^']*)')",
RegexOptions.None
);
my blog上的可测试(需要silverlight)
答案 1 :(得分:1)
看起来这是一个二合一问题吗?
我对1的回答是
((.*)['"](.*))
然后是#2
<(abc|xyz|def)>(.*)<\/(abc|xyz|def)>
abc | xyz | def&lt; - 想象它就像这样
在使用结果之前不要忘记修剪空格
答案 2 :(得分:0)
第一次问题使用:
("(?<content>[^"]*)")|('(?<content>[^']*)')
第二次问题:
>(?<content>\w*\s*<td>.*</td>[\w\s]*)<
并为两者获取名为 content 的组。
答案 3 :(得分:0)
我想通了 - 使用后退参考。
(["'])(?<q>.+?)\1