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