如果对句子的引用不清楚,该如何写正则表达式

时间:2018-09-18 02:27:28

标签: regex

我正在学习NLP,尝试使用正则表达式解决以下问题时遇到问题:

  

A掉了多少钱?

     

B掉了多少?

给出的句子如下:

  
      
  1. 大约3:45,A跌至另一个限制,下降了30点,交易再次被锁定。
  2.   
     

2。期货交易员说,A暗示B可能下跌多达200点。

     

3.A暴跌了12点

我尝试提取正确的答案30 and 12,而我的正则表达式代码为:

'\s?A (.+ )?(fall|drop|go\sdown|down|fell|plunged)(\sas\smuch\sas)? (\d+)'

显然,这是不正确的。它将给出答案"200"到'A'并错过'30'。 有人可以教我如何根据这种情况编写Regex吗? 任何回应将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果我们假设您要匹配的文本的格式为Letter ... VERB ... [0-9]+ points,那么我们可以尝试使用以下模式:

\b[A-Z]\b.*?(?:fall|drop|go\sdown|down|fell|plunged|careened).*?(\d+) points

Demo