import re
# The input string
string = 'Meinda@Bill-Gates-Foundation@drug-delivery'
# Use a regular expression to extract the front and back of the '-' token
p = re.compile(r'@([\w-]+)@([\w-]+)')
matches = p.findall(string=string)
# Print the matches
print(matches)
3条答案
按热度按时间93ze6v8z1#
您可以排除匹配
@
字符,并重复-
一次或多次说明
@
逐字匹配(
捕获组1(由re.findall返回)[^\s@-]+
匹配1+个非空白字符,-
和@
除外(?:-[^\s@-]+)+
重复1次以上匹配-
,并再次匹配1次以上非空白字符(-
和@
除外))
关闭组1Regex demo
输出量
ctehm74n2#
要提取指定的特殊标记(在本例中为-,而不是@)的前面和后面,可以使用正则表达式和re模块。
下面是一个示例,说明如何使用正则表达式提取给定字符串中-标记的前面和后面:
此代码将打印以下输出:
2guxujil3#
@ ahmet-buğra-bua用正则表达式给出了答案。
如果你不需要使用正则表达式,那么更简单的方法就是直接使用split。
此输出
你可以把它变成这样的函数
这给予相同的输出