我正在尝试获取正确的正则表达式,以匹配包含特定单词的一行中的第N个单词。
例如,如果我的输入是:
this is the first line - blue
this is the second line - green
this is the third line - red
我想匹配包含单词“second”的行中的第七个单词,并返回green
。
我正在使用Rubular测试正则表达式。
我已经尝试过这个正则表达式,但没有成功 - 它匹配了下一行:
```regex ^.*second(?:\W+(\w+)){6}\W+(\w+) ```(.*second.*)(?<data>.*?\s){7}(.*)
另一个示例输入:
this is the Foo line - blue
this is the Bar line - green
this is the Test line - red
我想匹配包含单词 "red" 的行中的第四个单词,然后返回 Test
。
我要匹配的单词可以出现在我用来选择行的单词之前或之后。