簡體   English   中英

使用python搜索文本中的正則表達式

[英]search for regex in text using python

我想在s1中搜索區域。 如果文本包含“區域”或“區域”或“區域”或“區域”,我想返回1,在其他情況下返回0。 我寫了下面的代碼,但沒有用

s1 = pd.Series(['here is region', 'my regions', 'régionally', 'région','régions','regions','region']) s1.str.contains('r.gion[s][^a-zA-Z]', regex=True).astype(int)在這種情況下,結果必須為

[1,1,0,1,1,1,1]

您可以使用

s1.str.contains(r'\br[ée]gions?\b').astype(int)

如果要將正則表達式保存在文件中,然后讀入並用作變量,只需在其中寫入\\br[ée]gions?\\b

測試:

>>> import pandas as pd
>>> s1 = pd.Series(['here is region', 'my regions', 'régionally', 'région','régions','regions','region'])
>>> s1.str.contains(r'\br[ée]gions?\b').astype(int)
0    1
1    1
2    0
3    1
4    1
5    1
6    1
dtype: int32

細節

  • \\b單詞邊界
  • r - r字符
  • [ée] -角色類別中的字母之一
  • gion gion
  • s? -可選s字母
  • \\b單詞邊界。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM