正则表达式不匹配
问题描述:
I am trying to extract a JSON object from a custom payload.
My regex is working fine here: https://regex101.com/r/G5lBDC/1/
But Go returns no matches
1 2 3 4 5 |
re := regexp.MustCompile(`/payload:\\\\\"(.+?)\\\\\\\\\\\\\"\\\\\\\\/g`) rawResponse := \"version:1 response:<status:200 message:\\\"OK\\\" payload:\\\"{\\\\\\\"id\\\\\\\":\\\\\\\"ll2.card_4U45pAWUMCLhsu\\\\\\\",\\\\\\\"uid\\\\\\\":\\\\\\\"ll2.acc_727V8M6GjPJ9I26CqZHgxN\\\\\\\"}\\\\\\\"\\\\013\\\\022\\\\006ll2-cc\\\\032\\\\0019\\\" endorsement:<endorser:\\\"\\ \\\\007PASSKIT\\\\022\\\\224\\\\010>\" rawJSON := re.FindStringSubmatch(rawResponse) |
Go Playground https://play.golang.org/p/XRfbExNa9V
网友观点:
You can try this: ( Run here )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package main import ( \\\"regexp\\\" \\\"fmt\\\" ) func main() { var re = regexp.MustCompile(`payload:\\\\\\\"(\\{[^\\}]+\\})`) var str = `version:1 response:<status:200 message:\\\\\"OK\\\\\" payload:\\\\\"{\\\\\\\\\"id\\\\\\\\\":\\\\\\\\\"ll2.card_4U45pAWUMCLhsu\\\\\\\\\",\\\\\\\\\"uid\\\\\\\\\":\\\\\\\\\"ll2.acc_727V8M6GjPJ9I26CqZHgxN\\\\\\\\\"}\\\\\\\\\"\\\\013\\\\022\\\\006ll2-cc\\\\032\\\\0019\\\\\" endorsement:<endorser:\\\\\"\\ \\\\007PASSKIT\\\\022\\\\224\\\\010>` rawJSON := re.FindStringSubmatch(str) fmt.Println(rawJSON[1]) } |
超简单的正则表达式入门
本文来源:https://github.com/ziishaned/learn-regex
作者:Zeeshan Ahmad
导语
正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。
一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。 正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。
想象你正在写一个应用,然后你想设定一个用户命名的规则,让用户名包含字符、数字、下划线和连字符,以及限制字符的个数,好让名字看起来没那么丑。 我们使用以下正则表达式来验证一个用户名:
以上的正则表达式可以接受 john_doe
、jo-hn_doe
、john12_as
。 但不匹配Jo
,因为它包含了大写的字母而且太短了。
目录
目录
- 1. 基本匹配
- 2. 元字符
- 2.1 点运算符 .
- 2.2 字符集
- 2.2.1 否定字符集
- 2.3 重复次数
- 2.3.1 * 号
- 2.3.2 + 号
- 2.3.3 ? 号
- 2.4 {} 号
- 2.5 (...) 特征标群
- 2.6 | 或运算符
- 2.7 转码特殊字符
- 2.8 锚点
- 2.8.1 ^ 号
- 2.8.2 $ 号
- 3. 简写字符集
- 4. 零宽度断言(前后预查)
- 4.1 ?=... 正先行断言
- 4.2 ?!... 负先行断言
- 4.3 ?<= ... 正后发断言
- 4.4 ?<!... 负后发断言
- 5. 标志
- 5.1 忽略大小写(Case Insensitive)
- 5.2 全局搜索(Global search)
- 5.3 多行修饰符(Multiline)
- 额外补充
- 贡献
- 许可证
1. 基本匹配
正则表达式其实就是在执行搜索时的格式,它由一些字母和数字组合而成。 例如:一个正则表达式 the
,它表示一个规则:由字母t
开始,接着是h
,再接着是e
。
由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 正则表达式不匹配
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 正则表达式不匹配