首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某个字符串后的javascript多行匹配

某个字符串后的javascript多行匹配
EN

Stack Overflow用户
提问于 2014-10-17 04:18:30
回答 3查看 38关注 0票数 0

在本文中:

代码语言:javascript
复制
my-Word: Value-1
othertext
my-Word: Value-2
othertext
my-Word: Value-3
...

我需要匹配所有包含:([A-Za-z0-9-]+)的字符串

它们只在字符串:my-Word:之后,但不包括:my-Word:

所以我只需要匹配:Value-1Value-2Value-3等。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2014-10-17 04:33:10

你可以使用正向回溯:

代码语言:javascript
复制
(?<=my-Word:\s*)([A-Za-z0-9-]+)
票数 1
EN

Stack Overflow用户

发布于 2014-10-17 04:31:49

使用捕获组来捕获在to my-Word:之后出现的字母数字字符

代码语言:javascript
复制
> var s = "my-Word: Value-1\nothertext\nmy-Word: Value-2\nothertext\nmy-Word: Value-3"
undefined
> var re = /my-Word:\s*([A-Za-z0-9-]+)/gm;
undefined
> var m;
undefined
> while ((m = re.exec(s)) != null) {
... console.log(m[1]);
... }
Value-1
Value-2
Value-3
票数 0
EN

Stack Overflow用户

发布于 2014-10-17 04:37:16

您必须使用后置正则表达式,例如:

代码语言:javascript
复制
.(?<=my-Word: [A-Za-z0-9-])[A-Za-z0-9-]+

但不幸的是,不支持后视,所以你可以使用前视javascript正则表达式来代替。为此,您需要首先反转原始字符串,最后反转匹配的部分:

代码语言:javascript
复制
[A-Za-z0-9-]+(?= :droW-ym)

DEMO

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26413154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档