首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的regex字符串看起来很简单,但是我怎么才能让它工作呢?

python中的regex字符串看起来很简单,但是我怎么才能让它工作呢?
EN

Stack Overflow用户
提问于 2020-03-24 07:43:43
回答 1查看 50关注 0票数 1

我正在试着为Python写一个正则表达式字符串,这对我的工作很有帮助,但我需要你的一些帮助。从字面上来说,我想说的是,斯林格(初学者)应该在am 13.99/H和am 15.99/H之间支付,我是一个初学者,对此一无所知……问题是,slinger这个词可以在任何其他上下文中使用,我希望只有在多个条件适用时才被触发。(例如,Slinger和13.50应该会触发,但当slinger这个词是它自己时就不会触发)。不知何故,我想到了这个:

代码语言:javascript
复制
((S\/S)|(Slinger\/Signaller)|(Slinger)|(Banksman)|(\£\b1[4-6]\b)|(\b1[4-6]\b\£)|(\b1[4-6]p\/h\b))

但对于我需要实现的内容来说,它还不够好,因为它会触发任何诽谤文本。任何帮助都是非常感谢的。提前谢谢。

(编辑)

非常感谢你们的快速回答,伙计们。为了让自己变得更好,我想给你一个例子,所以请看下一句话(消息):

“伦敦市中心正在进行的工作需要斯林格。我们目前正在寻找一个在邦德街的项目,必须是在建筑工地工作的经验(蓝卡),并是一个熟练的投石机。对于初学者(红卡)(参加10小时计划),工资从GB13.99/h到15.99/h (139.99-159.99/天)或对于熟练的(蓝卡)斯林格(GB160-GB180/天)从GB16.00/h到18.00h(GB160-GB180/天)。如需更多信息,请拨打电话: 02131615139“(有时费率以in /小时为单位,有时以in /天为单位)。

数以千计的这样的消息写在我们的组上,有不同的薪酬和关于吊带者的讨论(作为一个词)。我想过滤(匹配)每个包含slinger和速率在GB13.99/h到15.99/h (139.99-159.99/天)之间的邮件,以落入“初学者slinger类别”,并过滤(匹配)每个包含slinger和GB16.00/H到18.00/h (GB160-GB180/天)的邮件,以落入“熟练Slinger类别”,而不是单独触发单词Slinger (如果在任何其他上下文中)。我希望这能帮助你创建一个我想要实现的想法,任何帮助都将不胜感激。谢谢你们,注意安全。

EN

回答 1

Stack Overflow用户

发布于 2020-03-24 15:14:58

您可以使用

代码语言:javascript
复制
\b(?:S/S|Slinger/Signaller|Slinger|Banksman) £(?:13\.99|1[45](?:\.\d{2})?)/H\b

说明

  • \b Word boundary
  • (?:S/S|Slinger/Signaller|Slinger|Banksman)匹配任何备选方案和space
  • £ Match literaly
  • (?: Non capture组
    • 13\.99 match 13.99
    • | Or
    • 1[45](?:\.\d{2})? Match 14 or 15 with and可选的小数部分以匹配2位数字。(如果要匹配1位或2位数字,请使用\d{1,2})

  • ) Close group
  • /H Match literally
  • \b Word边界

Regex demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60823078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档