加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 查找可选令牌之间的匹配?

发布时间:2020-12-14 06:01:52 所属栏目:百科 来源:网络整理
导读:对于字符串: text :: handle:e@ma.il :: text text :: chat_identifier:chat0123456789 text 我有当前的正则表达式: m /(handle:| chat_identifier:)(.?)(:{2} |)/ 我目前正在使用$2来获得我想要的值(在第一个字符串e@ma.il和第二个字符串,chat01234
对于字符串:

> text :: handle:e@ma.il :: text
> text :: chat_identifier:chat0123456789& text

我有当前的正则表达式:

m /(handle:| chat_identifier:)(.?)(:{2} |&)/

我目前正在使用$2来获得我想要的值(在第一个字符串e@ma.il和第二个字符串,chat0123456789).

有没有更好/更快/更简单的方法来解决这个问题呢?

解决方法

它是否“更好”取决于上下文,但您可以采用这种方法:将字符串拆分为“:”并获取结果列表的第四个元素.如果第三个字段可以是“handle”或“chat_identifier”以外的东西,那可以说比正则表达式更具可读性并且更强大.

我认为这两种方法的速度都非常相似,但几乎可以用于perl中的任何实现.我想表明速度对于这个步骤至关重要,然后再担心它…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读