可以说我有一个字符串列表,
string_lst = ['fun', 'dum', 'sun', 'gum']
我想做一个正则表达式,在其中的一点上,我可以匹配列表中的任何字符串,例如一个组:
import re
template = re.compile(r".*(elem for elem in string_lst).*")
template.match("I love to have fun.")
正确的方法是什么?还是必须制作多个正则表达式并将它们分别与字符串匹配?
string_lst = ['fun', 'dum', 'sun', 'gum']
x="I love to have fun."
print re.findall(r"(?=("+'|'.join(string_lst)+r"))",x)
您不能使用match
它,因为它会从开始就匹配。请findall
改为使用。
输出:['fun']
使用search
您只会得到第一场比赛findall
。因此请改用。
lookahead
如果重叠的匹配不是从同一点开始,也可以使用。
问题内容: 我正在使用脚本遍历文本文件中的行。我想在文本文档中搜索标签,然后将标签作为文本返回。 当我运行正则表达式时,它将返回一个 对象。如何获取返回的字符串? 运行时将打印: 问题答案: 您应该使用。喜欢 编辑: 您最好做一些类似的事情 消除所有的。
本文向大家介绍Python正则表达式匹配字符串中的数字,包括了Python正则表达式匹配字符串中的数字的使用技巧和注意事项,需要的朋友参考一下 1.使用“\d+”匹配全数字 代码: 结果: ['479', '501', '870', '209', '213', '650'] 但是上述这种方式也会引入非纯数据,例子如下: 结果: ['479', '501', '870', '209', '213',
问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需
我在java中有一个包含换行符的字符串。我需要一个正则表达式来匹配任何字符,包括换行符。 这是字符串: 我正在使用此代码(**?) 但它不会匹配换行符。
问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)
我正在尝试编写一个bash脚本,其中包含一个函数,因此当给定一个,,etc.文件它使用带有相关开关的tar来解压缩文件。 我使用if-elif-then语句来测试文件名的结尾,但我无法使用regex元字符使其匹配。 为了节省不断重写脚本,我在命令行中使用“test”,我认为下面的语句应该可以工作,我已经尝试了括号、引号和元字符的每一个组合,但仍然失败。 我相信问题很简单,我到处都找过了,但我不知道