我需要一个正则表达式来匹配以三个单词之一结尾的句子。
例如假设三个词是:英里和码。
My_String = 一次 2012 年 10 月 5 日在华盛顿特区举行了一场比赛,共有 400 名参赛者参加了比赛。比赛的距离是十英里。
给定我想要匹配的字符串 = 比赛的距离是 10 英里。
我尝试了以下方法:正则表达式 =/.\s.*[miles.|yards.]/
和match = match.regex(My_String)
`
但这是匹配我感兴趣的句子之前的所有句子以及我感兴趣的句子。
更新:
Kirill Polishchuk 提出了一个似乎让我非常接近的解决方案(见下文)。不幸的是,当我将它放入 Rubular 表达式测试器时,它只是突出显示目标句子,但不会将其作为匹配项返回。
我开始认为 Kirill 的表达式确实有效,但我用来测试它的 Rubular 引擎可能不支持它。
最终更新:
以下表达式成功匹配目标句子:
([^.]*(?:miles|yards)\.)
感谢大家的帮助。