Reg Expression-录制权限组(Javascript)

Reg Expression - recording right group (Javascript)

本文关键字:Javascript 权限 Expression- Reg      更新时间:2024-05-07

我正试图用正则表达式捕获电子邮件的一部分。主题行采用这种格式

Word Word:Word Word:WORDIWANG Word Word

现在我可以使用获取第二个冒号

(^[a-zA-Z0-9_ ]*:[a-zA-Z0-9_ ]*:)           

例-单词:单词:

然后我可以通过在末尾添加(''w*)来获得我想要的单词,这样我就可以使用了

(^[a-zA-Z0-9_ ]*:[a-zA-Z0-9_ ]*:)('w*)                

例如-Word Word:Word Word:WORDIWANG

现在我需要的是表达式忽略第一部分,我需要的只是它只记录第二部分。

edit:感谢到目前为止的回复,不幸的是,我目前使用的程序是基于Javascript的,但除了正则表达式或TOKEN风格的结果之外,不允许任何其他内容,没有详细的编码。

所以理想情况下,我只想找一个REGEX_MACH选项

我能得到的最接近的是(?:(^[a-zA-Z0-9_]*:[a-zA-APP-GW-9_]:)|(''w

这将突出WORDIWANT的部分,但仍然不确定如何确保它只看到这一点。

"Word Word: Word Word:WORDIWANT word wordword".match(/^(?:[^:]*:){2}('w+)/)[1];

在另一种语言中,您可以使用positive look behind(通过用?<=替换?:),但javascript不支持它

因此,如果你想在replace函数中使用这个表达式,你需要prepend你与被替换文本的第一个匹配(这是一个解决javascript中缺乏后备功能的方法)

尝试这个(无法本地测试):

var myString = "Word Word: Word Word:WORDIWANT word word wordword";
var myRegexp = /(^[a-zA-Z0-9_ ]*:[a-zA-Z0-9_ ]:)('w)/g;
var match = myRegexp.exec(myString);
alert(match[2]);  // this should be WORDIWANT