我正在努力寻找解决方案,以打印包含特定子字符串的字符串。所以例如我有一个字符串
mystr = "<tag> name = mon_this_is_monday value = 10 </tag>"
我想在上面的字符串中搜索"mon"
并打印"mon_this_is_monday"
,但不确定如何做
我尝试做
pattern = re.compile('mon_')
try:
match = re.search(pattern, mystr).group(0)
print(match)
except AttributeError:
print('No match')
但这只是给出mon_
作为匹配的输出。如何获得整个字符串"mon_this_is_monday"
作为输出?
答案 0 :(得分:3)
我们可以尝试将re.findall
与模式\b\w*mon\w*\b
一起使用:
mystr = "<tag> name = mon_this_is_monday value = 10 </tag>"
matches = re.findall(r'\b\w*mon\w*\b', mystr)
print(matches)
此打印:
['mon_this_is_monday']
正则表达式模式匹配:
\b a word boundary (i.e. the start of the word)
\w* zero or more word characters (letters, numbers, or underscore)
mon the literal text 'mon'
\w* zero or more word characters, again
\b another word boundary (the end of the word)
答案 1 :(得分:2)
:host::before {
content: attr(data-content);
...
答案 2 :(得分:0)
您还可以在正则表达式上进行搜索
import re
mystr = "<tag> name = mon_this_is_monday value = 10 </tag>"
abc = re.search(r"\b(\w*mon\w*)\b",mystr)
print(abc.group(0))