Python中文
首页
教程
问答
标签
搜索
登录
注册
匹配给定要求的正则表达式
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个字符串:</p> <pre><code>s = '((FILTER( "SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN''))* (FILTER("SalesVelocity"."OrderHeader"."OpportunityRevenue" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN'')/ FILTER("SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN''))* (FILTER ( "SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory" = ''WON'') / "SalesVelocity"."OrderHeader"."#Opportunities" ))/ ((1.0 * "SalesVelocity"."OrderHeader"."TotalSalesCycleOppty") / FILTER("SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory" = ''WON''))' </code></pre> <p>它将表引用为<code>"SchemaName"."TableName"."ColumnName"</code> 我需要提取所有表的信息与架构为 <code>"SalesVelocity"."OrderHeader" "SalesVelocity"."Opportunity_1"</code></p> <pre><code>import re pat = r'".*?\"\.".*?\"' #See Note at the bottom of the answer s = '((FILTER( "SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN''))* (FILTER("SalesVelocity"."OrderHeader"."OpportunityRevenue" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN'')/ FILTER("SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory"=''OPEN''))* (FILTER ( "SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory" = ''WON'') / "SalesVelocity"."OrderHeader"."#Opportunities" ))/ ((1.0 * "SalesVelocity"."OrderHeader"."TotalSalesCycleOppty") / FILTER("SalesVelocity"."OrderHeader"."#Opportunities" USING "SalesVelocity"."Opportunity_1"."OpportunityStatusCategory" = ''WON''))' match1 = re.findall(pat, s) print(match1) </code></pre> <p>其输出为:</p> <pre><code>['"SalesVelocity"."OrderHeader"', '"#Opportunities" USING "SalesVelocity"."Opportunity_1"', '"OpportunityStatusCategory"=OPEN))*(FILTER("SalesVelocity"."OrderHeader"', '"OpportunityRevenue" USING "SalesVelocity"."Opportunity_1"', '"OpportunityStatusCategory"=OPEN)/FILTER("SalesVelocity"."OrderHeader"', '"#Opportunities" USING "SalesVelocity"."Opportunity_1"', '"OpportunityStatusCategory"=OPEN))*(FILTER ("SalesVelocity"."OrderHeader"', '"#Opportunities" USING "SalesVelocity"."Opportunity_1"', '"OpportunityStatusCategory" = WON) / "SalesVelocity"."OrderHeader"', '"#Opportunities" ))/((1.0 * "SalesVelocity"."OrderHeader"', '"TotalSalesCycleOppty") / FILTER("SalesVelocity"."OrderHeader"', '"#Opportunities" USING "SalesVelocity"."Opportunity_1"'] </code></pre> <p>这是不正确的,例如第二个值:</p> <pre><code>('"#Opportunities" USING "SalesVelocity"."Opportunity_1"') </code></pre> <p>我的表达式检查是以“then.<em>开头的?对于所有字符,直到它达到\“然后点,然后再”然后。</em>?对于所有字符,直到达到\“</p> <p>我错过了什么?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>下面的正则表达式(根据Wiktor Stribizew的建议进行了修改)应该有效:<code>"[^"]*?\"\."[^"]*\"</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
2 回答
如何在python中从数据帧列表中删除引号
8 回答
如何在python中从数据帧创建列表
10 回答
如何在Python中从数据帧创建嵌套的JSON
8 回答
如何在Python中从数据帧显示wordcloud
4 回答
如何在Python中从数据帧的时间戳中删除字符
4 回答
如何在Python中从数据帧绘制简单绘图?
9 回答
如何在python中从数据帧行提取具有特定长度的范围?
5 回答
如何在python中从数据帧设置dict中的值
7 回答
如何在Python中从数据库中获得一个结果
10 回答
如何在python中从数据框中绘制分类条形图
7 回答
如何在Python中从数据框中选择特定细节?
3 回答
如何在python中从数据集中删除unicode
8 回答
如何在python中从数据集中删除某些数值?
7 回答
如何在python中从数据集中选择行
5 回答
如何在Python中从数组中删除元素
4 回答
如何在python中从数组中删除单个倒逗号?
5 回答
如何在python中从数组中删除对象?
10 回答
如何在python中从数组中删除引号
5 回答
如何在python中从数组中删除所有最小值
10 回答