- 54
- 0
不太好说清楚,直接上例子吧
对于这样一行文本:
l = "have(message, 'aaa-bbb', 'ccc-ddd') && have(outcome, 'access-accepted')"
假如我想匹配have(message,...)中的"aaa-bbb"和"ccc-ddd", 不要匹配have(outcome,...)中的字符,应该怎么写呢?
1.
re.findall("(\w+(?:\-\w+)+)", l)
是不行的,因为会匹配到have(outcome,...)里的字符
2.
re.findall("have\(message,\s*[^\)]*?(\w+(?:\-\w+)+)", l)
这个也不行,只能匹配到第一个
3.
re.findall("have\(\message\(?:,\s*\'(.+?)\'\s*)+\s*\)",l)
这样也不行,也是只能到匹配第一个
实在想不出什么办法了, 有大神知道吗?
1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
对温柔懂得不多。 普通会员 1楼
你可以使用正则表达式中的
()符号来创建一个元组,然后在()后面接你的正则表达式。以下是一个例子:```python import re
def match_line(line, pattern): match = re.search(pattern, line) if match: return match.group(0) else: return None
line = "Hello, world!" pattern = r'Hello, world!' result = match_line(line, pattern) print(result) # 输出: Hello, world! ```
在这个例子中,我们定义了一个函数
match_line,它接受一个字符串line和一个正则表达式pattern作为输入。然后,我们使用re.search函数在line中查找匹配的模式。如果找到匹配,我们返回match.group(0),否则我们返回None。在主程序中,我们定义了一个字符串
line和一个正则表达式pattern,然后调用match_line函数并打印结果。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

