Python Regex Check If String Contains Any Of Words
I want to search a string and see if it contains any of the following words: AB|AG|AS|Ltd|KB|University I have this working in javascript: var str = 'Hello test AB'; var forbiddenw
Solution 1:
import re
strg = "Hello test AB"#str is reserved in python, so it's better to change the variable name
forbiddenwords = re.compile('AB|AG|AS|Ltd|KB|University')
#this is the equivalent of new RegExp('AB|AG|AS|Ltd|KB|University'), #returns a RegexObject objectif forbiddenwords.search(strg): print'Contains the word'#search returns a list of results; if the list is not empty #(and therefore evaluates to true), then the string contains some of the wordselse: print'Does not contain the word'#if the list is empty (evaluates to false), string doesn't contain any of the words
Solution 2:
You can use re module. Please try below code:
import re
exp = re.compile('AB|AG|AS|Ltd|KB|University')
search_str = "Hello test AB"if re.search(exp, search_str):
print"Contains the word"else:
print"Does not contain the word"
Solution 3:
str="Hello test AB"
to_match=["AB","AG","AS","Ltd","KB","University"]
for each_to_match in to_match:
if each_to_match instr:
print"Contains"breakelse:
print"doesnt contain"
Solution 4:
You can use findall to find all matched words:
import re
s= 'Hello Ltd test AB ';
find_result = re.findall(r'AB|AG|AS|Ltd|KB|University', s)
ifnot find_result:
print('No words found')
else:
print('Words found are:', find_result)
# The result for given example s is# Words found are: ['Ltd', 'AB']
If no word is found, that re.findall
returns empty list. Also its better not to use str
as a name of veritable, since its overwriting build in function in python under the same name.
Post a Comment for "Python Regex Check If String Contains Any Of Words"