簡體   English   中英

如何匹配字符串中的整個單詞

[英]How to match whole word in a string

我想在以空格、逗號或句點分隔的字符串中提取整個單詞。

text = 'OTC GLUCOSAM-CHOND-MSM1-C-MANG-BOR test, dosage uncertain'
p = r"(?i)\b([A-Za-z]+[\s*|\,|\.]+)\b"    
for m in regex.finditer(p, str(text)):
    print (m.group())

我希望得到:
場外交易
GLUCOSAM-CHOND-MSM1-C-MANG-BOR
測試
劑量
不確定

但我得到的是:
場外交易
硼酸
測試,
劑量

要獲取所需單詞的列表,可以使用re模塊的findall() function。 另外,嘗試將正則表達式更改為如下所示:

text = 'OTC GLUCOSAM-CHOND-MSM1-C-MANG-BOR test, dosage uncertain'
result = re.findall('[\w]+[-?[\w]+]*', text)

print(result)
# outputs: ['OTC', 'GLUCOSAM-CHOND-MSM1-C-MANG-BOR', 'test', 'dosage', 'uncertain']

進口再

text = 'OTC GLUCOSAM-CHOND-MSM1-C-MANG-BOR 測試,劑量不確定'

p = r"[a-zA-Z-\d]*"

對於 re.finditer(p, str(text)) 中的 m:

if len(m.group().strip()) > 0:
  print(m.group())

暫無
暫無

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

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