我正在使用正则表达式在 python 中寻找可以执行类似操作的代码
Input: Regex should return "String 1" or "String 2" or "String3"
Output: String 1,String2,String3
I tried r'"*"'
这就是您需要做的一切:
def doit(text):
import re
matches = re.findall(r'"(.+?)"',text)
# matches is now ['String 1', 'String 2', 'String3']
return ",".join(matches)
doit('Regex should return "String 1" or "String 2" or "String3" ')
result:
'String 1,String 2,String3'
正如所指出的叶亮昂:
详细说明,.+?
是“非贪婪”版本.+
。它使正则表达式匹配它可以匹配的最小数量的字符,而不是它可以匹配的最多字符。贪婪的版本,.+
, 会给String 1" or "String 2" or "String 3
;非贪婪版本.+?
gives String 1
, String 2
, String 3
.
另外,如果你想接受空字符串,请更改.+
to .*
. Star *
表示零个或多个,而加号+
是指至少一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)