亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用正則表達式為列表python中的每個單詞捕獲包含單詞的句子

使用正則表達式為列表python中的每個單詞捕獲包含單詞的句子

哈士奇WWW 2022-12-20 15:24:21
我正在使用 python 和正則表達式來嘗試獲取包含一系列 pandas df 中每個單詞的特定單詞的推文列表中的所有句子。我的 dfstocks_df包含某些股票名稱,例如  Symbol0   $GSX1  $NVDA2  $MBRX5  $BBBY6   $DIS我想要包含這些字符串的推文中的所有句子。我嘗試的解決方案遵循我遇到的另一個正則表達式問題:Key error when using regex quantifier python然而,我的解決方案主要是在句子的開頭抓取句子的符號,如果在句子的中間則不抓取它。它似乎也只匹配符號而沒有得到句子的其余部分。我的代碼是這樣的:pattern2 = r'(?:{}) (?:[^.]*[^.]*\.)'.format("|".join(map(re.escape, stocks_df['Symbol'])))有誰明白為什么沒有匹配完整的句子?
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

如果你不必處理縮寫和其他混亂的格式,你可以使用匹配這些字符串

r'[^.?!]*(?:{})\b[^.?!]*[.?!]'.format("|".join(map(re.escape, stocks_df['Symbol'])))

該模式看起來[^.?!]*(?:\$GSX|\$NVDA|...)\b[^.?!]*[.?!]會匹配

  • [^.?!]*!- 除了,?和之外的0 個或更多字符.

  • (?:\$GSX|\$NVDA)- 符號欄中的一個詞

  • \b- 需要整個單詞,\b是單詞邊界

  • [^.?!]*!- 除了,?和之外的0 個或更多字符.

  • [.?!]- 一個?,!.


查看完整回答
反對 回復 2022-12-20
  • 1 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號