我是正则表达式的新手,我想弄清楚这个:
This is some text 1
This is some text 2
This is some awesome text
Test!
Test!
This is some text 3
This is some text 4
This is some awesome text
这里有一些文字,我试图从“这是一些文字1”一直到第一个“测试”!但我一直把它带到第二个“测试!”.我怎样才能使它只捕获第一个“测试!” ?
这是我做的:
(.*)(Test!)
基本上得到一切,然后停止测试! (先想到我在第一个停了)
然后我尝试了:
(.*)(Test!)[\f\r\t\n]
仍然得到了第二个我只包括其他一切
然后我尝试了:
(.*)(Test!){1}
以为我会得到第一个,只有那一个.
最佳答案 正则表达式是贪婪的,这意味着它尽可能地匹配.使用 ?使非贪婪:
(.+?)Test!
^ make it non-greedy
Stub.不要忘记制作的选项.匹配换行符.