Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何匹配字符串中的整个单词_Python - Fatal编程技术网

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

Python 如何匹配字符串中的整个单词,python,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

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

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
测试
剂量
不确定

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

剂量

要获得所需单词的列表,可以使用
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']


要获得所需单词的列表,可以使用
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']

进口稀土

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

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

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

进口稀土

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

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

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


试试你的正则表达式不允许连字符。我想知道如果你确切知道要拆分什么,拆分对你是否更有效:
re.split(r'[\s+,.]+',text)
@MarkMeyer我建议写下来作为答案:)试试你的正则表达式不允许连字符。我想知道如果你确切知道你想要拆分什么,拆分是否对你更有效:
re.split(r'[\s+,.]+',text)
@MarkMeyer我建议写下来作为答案:)