curP = "https://programmers.co.kr/learn/courses/4673'>#!Muzi#Muzi!)jayg07con&&"
我想用regex从这个字符串中找到Muzi
例如
MuziMuzi:计数0,因为它认为是一个单词
Muzi&Muzi:数到2,因为它有&;between,所以它将单词分开
7Muzi7Muzi:计数2
我尝试使用regex查找所有匹配的
curP = "<a href='https://programmers.co.kr/learn/courses/4673'></a>#!Muzi#Muzi!)jayg07con&&"
pattern = re.compile('[^a-zA-Z]muzi[^a-zA-Z]')
print(pattern.findall(curP))
我预料到了!木子,木子]
但结果是
['!muzi#']
据我所知,您希望获得关键字Muzi两侧可能出现的任何值。你知道吗
这意味着在本例中,
#
必须由两个输出值共享。 使用regex的唯一方法是在找到模式时操纵字符串。你知道吗以下是我的解决方案:
输出:
您需要将其用作正则表达式:
(?=[^a-zA-Z])
表示muzi
必须具有[^a-zA-Z]
的looaward,但不使用任何字符。所以第一个匹配只匹配!Muzi
,剩下的#
可以开始下一个匹配。你知道吗您原来的正则表达式正在消耗
!Muzi#
而离开Muzi!
,这与正则表达式不匹配。你知道吗您的匹配项现在将是:
相关问题 更多 >
编程相关推荐