使用正则表达式python匹配字符串中的特定单词或单词集

使用正则表达式python匹配字符串中的特定单词或单词集,python,Python,基本上,我有一个解析XML文件并根据一些参数将数据转换成json文件的方法。其中一个参数可以是一个唯一的单词,如ag和ag&co。。 XML中的数据包含名为Firma的元素,每个元素都有一个属性名。我需要检查名称中的特定参数。 我吃过类似的东西 re.search(r'\b' + rolle + r'\b', name_element) 其中rolle是参数,name_元素是要匹配的单词。这在本文中使用例如ag时有效:戴姆勒克莱斯勒银行股份有限公司zentrale,甚至一维数据德国股份有限公司

基本上,我有一个解析XML文件并根据一些参数将数据转换成json文件的方法。其中一个参数可以是一个唯一的单词,如ag和ag&co。。 XML中的数据包含名为Firma的元素,每个元素都有一个属性名。我需要检查名称中的特定参数。 我吃过类似的东西

re.search(r'\b' + rolle + r'\b', name_element)

其中rolle是参数,name_元素是要匹配的单词。这在本文中使用例如ag时有效:戴姆勒克莱斯勒银行股份有限公司zentrale,甚至一维数据德国股份有限公司。但我还需要将ag&co.作为rolle进行匹配,如果与同一个示例进行匹配,则会失败。如何解决此问题?

如果您只需要检查输入字符串是否包含可以在中使用的给定字符串:


使用正则表达式检查字符串中是否有整个单词ag或ag&co.:

check_str="dimension data germany ag & co."

if re.search(r'\bag\b|\bag & co.\b', check_str):
    print('True')
else:
    print('False')

True

输入字符串是什么?您希望的输出是什么?输入字符串可以是ag或ag&co。我想将这两个字符串与其他字符串(如戴姆勒克莱斯勒银行股份有限公司zentrale和dimension data germany ag&co.)进行比较。对于ag和戴姆勒克莱斯勒银行,zentrale和dimension data德国公司应返回匹配项。对于ag&co.这个字符串维度数据germany ag&co.也应该返回一个匹配项,但它与上面python中使用的正则表达式不匹配。searchr'\b'+rolle+r'\b',name\u元素rolle是输入字符串,name_元素是要比较的字符串这不适用于此用例“dimension agile data germany ltd.”中的“ag”。问题是我不想检查它是否在,我想检查确切的字符串,例如,如果我在sssag&co.中搜索ag&co.这应该不会返回匹配,但如果它像此sss ag&co.这应该返回匹配。我尝试使用此re.searchr'\b'+rolle+r'\b',name\u元素,但当搜索字符串之间有空格时,这不起作用,可能会在表达式的开头和结尾添加检查。将[^]添加到开头和[$]添加到结尾是否有帮助?这将检查表达式前是否有空格或行首,表达式后是否有空格或行尾。
check_str="dimension data germany ag & co."

if re.search(r'\bag\b|\bag & co.\b', check_str):
    print('True')
else:
    print('False')

True