javascript多行匹配在某个字符串之后
javascript multiline match after a certain string
在此文本中:
my-Word: Value-1
othertext
my-Word: Value-2
othertext
my-Word: Value-3
...
我需要匹配包含以下内容的所有字符串:([A-Za-z0-9-]+)
并且仅在字符串之后:my-Word:
,但不包括:my-Word:
所以我只需要匹配:Value-1
、Value-2
、Value-3
等
我该怎么做?
您可以使用正向查找:
(?<=my-Word:'s*)([A-Za-z0-9-]+)
使用捕获组捕获my-Word:
之后出现的字母数字字符
> 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
您必须使用lookbacking正则表达式,例如:
.(?<=my-Word: [A-Za-z0-9-])[A-Za-z0-9-]+
但不幸的是,javascript不支持lookbacking,因此您可以使用lookahead正则表达式。为此,您需要首先反转原始字符串,最后匹配部分:
[A-Za-z0-9-]+(?= :droW-ym)
演示
相关文章:
- 正则表达式删除最后一个数字之后的字符串
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 如何在 javascript 中使用正则表达式提取句点 (.) 之后的字符串
- 从字符串中删除-之后的一些文本
- 使用Jquery和PHP在POST Ajax之后返回(一个空字符串)
- 从子字符串之后的字符串中获取字符串
- 我怎样才能得到这个字符串之后的所有内容
- 忽略文件扩展名jQuery之后的查询字符串
- 通过 JavaScript 获取字符串中第二个空格之前和之后的子字符串
- 删除字符串中第5个字符之后的所有字符
- 如果字符串位于iframe之后,则不会使用引导程序列表显示
- 获取javascript中/之前和之后的字符串值
- 获取每个'单词'在使用regex的Javascript字符串中的每个下划线之后
- 查找网页上字符串之后或之前出现的字符串
- 一个数组在“array.push”一些字符串之后附加了未定义.这正常吗
- javascript多行匹配在某个字符串之后
- 如何构造一个javascript正则表达式来提取特殊字符串之后的所有字符串
- 匹配出现在某个字符串之后的字符串
- 替换3个不同字符串之后的双引号之间的字符串
- NodeJs在一系列字符串之后添加字符