首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么用正则表达式提取包含有被转义双引号的双引号对

2012-10-16 
如何用正则表达式提取包含有被转义双引号的双引号对?就像是这样.Tno94af980q3H80H9F861u9a4b9Uq4660hv409k

如何用正则表达式提取包含有被转义双引号的双引号对?
就像是这样.

Tno94af980q3H80H9F861u9a4b9Uq4660hv409k-9: "张大傻子不耐烦地说:\"行行行. 那先这样吧, 这4亩田暂时就包给你了啊.\",然后忿忿的离去了"


以上蓝字部分包含一个完整的字符串, 而字符串中又包含了一对被转义的双引号. 现在, 我想把这里面的字符串提取出来, 用正则表达式怎么做? 我试过"[^"]+" .但是它似乎会把被转义的字符串当成字符串末尾. 这就不好办了. 谁有什么好的办法 最好是C#支持的正则表达式

[解决办法]
你的两次回贴有什么区别?
[解决办法]
不懂,up
[解决办法]
"[^/]*[^"]*"
[解决办法]

Python code
>>> import re>>> a = r'Tno94af980q3H80H9F861u9a4b9Uq4660hv409k-9: "张大傻子不耐烦地说:\"行行行. 那先这样吧, 这4亩田暂时就包给你了啊.\",然后忿忿的离去了" '>>> s = r'[^\\]\"(.*?)[^\\]["]'>>> s = r'[^\\]\"(.*?[^\\])["]'>>> m = re.compile(s,re.M|re.S).search(a)>>> print m.group(1)张大傻子不耐烦地说:\"行行行. 那先这样吧, 这4亩田暂时就包给你了啊.\",然后忿忿的离去了>>>
[解决办法]
BatchFile code
"((?>\\\")?.*)"
[解决办法]
[^\\](".*?[^\\]")

热点排行