我有一個列表,我想找出列表中的任何一個項目是否使用正則表達式在字符串中。有沒有辦法做到這一點?如何使用正則表達式找出Python列表中的任何一項是否在字符串中?
回答
當然。
myregex = re.compile(...)
print any(myregex.search(s) for s in my_list_of_strings)
或可能:
regexs = [re.compile(s) for s in my_list_of_regex_strings]
any(r.search(my_string) for r in regexs)
,我想可能是同樣的事情:
regex_str = '|'.join('(?:%s)'%re.escape(s) for s in list_of_regex_strings)
re.search(regex_str,my_string)
我現在還不能告訴你試圖去與該走哪條路...
最後,如果你真的想知道哪個正則表達式匹配:
next(regex_str for regex_str in regex_str_list if re.search(regex_str,mystring))
這會引發StopIteration
異常(您可以捕獲),如果沒有正則表達式的匹配。
我認爲他想要做相反的事情,如果這樣,他從一列搜索目標開始,然後找到所有這些發生在給定字符串中。 –
@ sr2222 - 我已經重新閱讀了大約6或7次的問題,但我仍然不確定... – mgilson
「查找[a]列表中的任何一項是否在字符串中」引導我思考他有一套目標,並希望看看它們中的任何一個是否出現在字符串中。所以基本上'匹配'模式中的一堆or'ed值。或者甚至只是'任何(如果x在字符串中,x代表目標)'。 –
for each item in list:
use regex on string
這就是儘可能具體給你的問題的普遍性質。
編輯:這是僞代碼,而不是Python
我假設OP是詢問如何找出如果在字符串列表中的任何一個項目使用正則表達式的模式相匹配。
# import the regex module
import re
# some sample lists of strings
list1 = ['Now', 'is', 'the', 'time', 'for', 'all', 'good', 'men']
list2 = ['Me', 'Myself', 'I']
# a regex pattern to match against (looks for words with internal vowels)
pattern = '.+[aeiou].+'
# use any() around a list comprehension to determine
# if any match via the re.match() function
any(re.match(pattern, each) for each in list1)
# if you're curious to determine just what is matching your expression, use filter()
list(filter(lambda each: re.match(pattern, each) , list2))
- 1. 搜索正則表達式中的任何字符串列表
- 2. 如何知道一個字符串是否是Python中的正則表達式?
- 3. 如何匹配python中正則表達式中的字符串列表中的任何字符串?
- 4. Python:如果列表中的任何字符串匹配正則表達式
- 5. 在python中使用正則表達式來查找字符串
- 6. JavaScript正則表達式 - 字符串中是否有任何字符串
- 7. 正則表達式來查找任何特殊字符在Python中使用Python
- 8. 如何使用正則表達式在字符串中查找字符串?
- 9. 如何使用正則表達式在字符串中查找字符串?
- 10. 如何正則表達式在python中的空字符串?
- 11. 如何在Python列表中查找正則表達式模式?
- 12. 正則表達式,在字符串中查找表達式。
- 13. 正則表達式在Python中查找列表中的字符串3
- 14. 正則表達式,找到字符串中的任意數字
- 15. Java正則表達式Android如何在字符串中找到任何文本
- 16. 如何找出與正則表達式匹配的字符串
- 17. 在python中查找帶正則表達式的字符串
- 18. 如何使用正則表達式在Python中字符可選?
- 19. 正則表達式來提取python列表中的字符串
- 20. 如何在非ASCII字符串中使用正則表達式?
- 21. 如何查找字符串中的所有正則表達式?
- 22. 如何確定字符串是否不是正則表達式?
- 23. 如何驗證字符串是否是正則表達式?
- 24. 如何識別字符串是否是正則表達式?
- 25. 正則表達式字符串在python
- 26. 使用正則表達式在vb.net中查找字符串中的字符串
- 27. 如何刪除Python中的正則表達式子字符串?
- 28. 如何區分python中的字符串和正則表達式?
- 29. 正則表達式在字符串中查找字符串
- 30. 正則表達式找出python中非ascii字符的字段
請注意,您沒有接受任何其他問題的答案 - 這可能會使人們回答這個問題。 –
@Lattyware:'t已經過了漫長的一天,也許我需要擺脫..:P –
@MartijnPieters - 我想起來同樣的事情。 – mgilson