为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript正则表达式的积极面

JavaScript正则表达式的积极面

我有一个文档,需要从中提取一些数据。文档包含类似这样的字符串Text:"How secure is my information?"我需要提取文字后双引号的文本 Text:How secure is my information?如何在Java中使用正则表达式执行此操作
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

向后隐式断言最近针对JavaScript完成,将在ECMA-262规范的下一个出版物中发表。Chrome 66(Opera 53)支持它们,但在撰写本文时,还没有其他主流浏览器。


var str = 'Text:"How secure is my information?"',

    reg = /(?<=Text:")[^"]+(?=")/;


str.match(reg)[0];

// -> How secure is my information?

较旧的浏览器不支持JavaScript正则表达式中的向后搜索。您必须对这样的表达式使用捕获括号:


var str = 'Text:"How secure is my information?"',

    reg = /Text:"([^"]+)"/;


str.match(reg)[1];

// -> How secure is my information?

但是,这不会涵盖所有的后置断言用例。


查看完整回答
反对 回复 2019-10-21
?
慕森卡

TA贡献1806条经验 获得超8个赞

我只想添加一些内容:JavaScript 支持像(?<= )or那样的后向(?<! )

但它确实支持像(?= )或的先行(?! )


查看完整回答
反对 回复 2019-10-21
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

您可以这样做:


/Text:"(.*?)"/

说明:


Text:" :从字面上进行匹配

.*? :以非贪婪方式匹配任何内容

() :捕获比赛

" :匹配文字 "

/ / :分隔符


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 446 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信