如何匹配字符串中的整个单词

2024-09-30 04:41:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个由空格、逗号或句点分隔的字符串中提取整个单词

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())

我希望得到:
场外交易
氨基葡萄糖-CHOND-MSM1-C-MANG-BOR
测试
剂量
不确定

但我得到的是:
场外交易
博尔
测试,
剂量


Tags: 字符串texttest交易单词空格逗号剂量
2条回答

进口稀土

text='OTC葡糖-CHOND-MSM1-C-MANG-BOR试验,剂量不确定'

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

对于m in re.finditer(p,str(text)):

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

要获得所需单词的列表,可以使用re模块的findall()函数。此外,请尝试将正则表达式更改为如下所示的表达式:

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']

相关问题 更多 >

    热门问题