一尘不染

JavaScript正则表达式的正面印象

javascript

我有一个文档,需要从中提取一些数据。文档包含类似这样的字符串

Text:"How secure is my information?"

我需要提取文字后双引号的文本 Text:

How secure is my information?

如何在Java中使用正则表达式执行此操作


阅读 257

收藏
2020-05-01

共1个答案

一尘不染

向后隐式断言最近针对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?

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

2020-05-01