如果字符匹配,则选择第N个字符-RegEx

时间:2019-02-01 15:05:57

标签: javascript regex

我觉得自己是个白痴,这并不罕见,但是我正在使用RegEx,如果字符与我的输入匹配,我需要选择第8和第9个字符。我有一个可正常运行的RegEx,但是它不能与Javascript一起使用,我认为这是由于回溯所致?

我现在所拥有的是以下内容:

RegEx:

(?<=^.{7})gg

如果它们包含“ gg”,则将匹配第8和第9个字符。

有什么建议可以让我使用Java脚本吗?

1 个答案:

答案 0 :(得分:0)

匹配组解决方案

^.{7}(gg)

选择第二组

var myString = "gsagq3eqsvertwfeqh3qfggsdfgsdh";
var myRegexp = /^.{7}(gg)/g;
var match = myRegexp.exec(myString);
console.log(match[1]); // Error
myString = "gsagq3eggvertwfeqh3qfggsdfgsdh";
myRegexp = /^.{7}(gg)/g;
match = myRegexp.exec(myString);
console.log(match[1]); // gg

https://stackoverflow.com/a/432503/

中选择组

此代码返回:第二个匹配项为gg

说明

^匹配字符串的开头

.{6}匹配任何前6个字符

(gg)匹配组中的所需字符串