python中的正则表达式字符串显然很简单,但我如何才能使其工作?

2024-05-31 23:46:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图为Python编写一个正则表达式字符串来帮助我工作,但我需要你的帮助。从字面上说,我想说,甩油工(初学者)的工资应该在13.99英镑/小时到15.99英镑/小时之间,我是个初学者,对此一无所知。。。问题是,slinger这个词可以在任何其他上下文中使用,我只想在多个条件适用时被触发。(例如,Slinger和13.50应该触发,但当单词Slinger由其自身触发时不触发)。 我不知怎么想到了这个:

((S\/S)|(Slinger\/Signaller)|(Slinger)|(Banksman)|(\£\b1[4-6]\b)|(\b1[4-6]\b\£)|(\b1[4-6]p\/h\b))

但这还不足以满足我的需要,因为它会触发任何垃圾短信。非常感谢您的帮助。提前谢谢

(编辑)

非常感谢你们的及时回答。为了让自己有更好的想法,我想给你举个例子,请看下一句话(留言):

“伦敦市中心正在进行的工作需要甩油工。 我们目前正在为邦德街的一个项目寻找一名CPCS甩油工,必须有在建筑工地工作的经验(蓝卡),并且是一名熟练的甩油工。 初学投球(红牌)(10小时计划)的工资为13.99英镑/小时至15.99英镑/小时(139.99-159.99英镑/天),熟练投球(蓝牌)的工资为16.00英镑/小时至18.00英镑/小时(160-180英镑/天)。有关更多信息,请联系电话:0213115139” (有时费率单位为./h,有时单位为./d

数千条这样的信息以不同的报酬和关于投递员的讨论(作为一个词)写在我们的小组上。 我想过滤(匹配)每封包含Slinger的邮件,过滤速率在13.99英镑/小时到15.99英镑/小时(139.99-159.99英镑/天)之间,归入“beginer Slinger类别”,每封包含Slinger的邮件,过滤速率在16.00英镑/小时到18.00英镑/小时(160英镑-180英镑/天)之间,归入“熟练Slinger类别”,但不能单独触发Slinger一词(如果在任何其他上下文中)。 我希望这能帮助你自己对我想要实现的目标有一个想法,任何帮助都将不胜感激。 多谢各位,注意安全


Tags: 字符串信息速率邮件单位类别b1小时
1条回答
网友
1楼 · 发布于 2024-05-31 23:46:15

你可以用

\b(?:S/S|Slinger/Signaller|Slinger|Banksman) £(?:13\.99|1[45](?:\.\d{2})?)/H\b

解释

  • \b字边界
  • (?:S/S|Slinger/Signaller|Slinger|Banksman) 匹配任何备选方案和空格
  • £匹配文字
  • (?:非捕获组
    • 13\.99匹配13.99
    • |
    • 1[45](?:\.\d{2})?将14或15与匹配,并可选小数部分与2位数字匹配。(如果要匹配1或2位数字,请使用\d{1,2}
  • )闭合群
  • /H逐字匹配
  • \b字边界

Regex demo

相关问题 更多 >