我有一个关键字列表叫[猫,狗,鸟]和一个正则表达式来找到一个权重(\ dlbs)。查找两个字符串之间有最大数量的字符
我只是想找到的项目,
- 开始与数组中的项目
- (猫|狗|?鸟)
- 比赛重正则表达式
- (\ dlbs)
- 仅1和2之间 有30个字符(不包括空格)一个最大
- 不想或照顾捕捉1-30个字符
感谢任何帮助!
我有一个关键字列表叫[猫,狗,鸟]和一个正则表达式来找到一个权重(\ dlbs)。查找两个字符串之间有最大数量的字符
我只是想找到的项目,
感谢任何帮助!
这将做到这一点:
(cat|dog|bird)\s*(?:(?:\S\s*){0,30})(\dlbs)
编辑,以体现 “不计空格” 点。
匹配,例如,每个以下的:
The cat weighs almost exactly 7lbs.
The cat weighs almost exactly 7lbs
注意:您似乎对你的问题流浪?
在(cat|dog|bird?)
- 我已经忽略了它。另外,你确定你有\dlbs
,而不是17 lbs
或17 pounds
?您可以轻松地解决这些场景与
(cat|dog|bird)\s*(?:(?:\S\s*){0,30})(\d\s*(?:lb|pound)s)
(\s*.){0,30}
最多30个字符不含空格:
(cat|dog|bird)(\s*.){0,30}\s*(\dlbs)
什么是字符串你有? –
downvotes(和投票结束)是从谁相信你的问题是不清楚的读者。字符串看起来像是“猫20磅,狗60磅,鸟450磅”还是“我的猫重20磅,我的狗60磅,450磅的大鸟尖”或其他什么东西?是每个“物品”你想要找到一个数组(例如'['狗',60]'),一个子字符串(“狗是60磅”)还是其他?用一个方法'doit(str)'来想想这个。你想让'doit'返回几个示例字符串中的每一个(包括'猫狗40磅'等'边缘情况')。通过编辑你的问题来做到这一点(不带评论),毫不拖延。 –
我很抱歉,SO的难点之一是你必须提出一个问题,同时晦涩的实际数据足以满足......“客户”。当我发现我的(愚蠢的)错误时,我觉得埃德应该得到他的及时和适当答案的荣誉。但是,如果你决定关闭它,我会明白。 – Rabbott