[英]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.