我是regex的新手,我正在努力解决这个问题:
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}
我以为我会得到第一个,也是唯一一个。
Regex是贪婪的,这意味着它匹配的时间尽可能长。使用?
使非贪婪:
(.+?)Test!
^ make it non-greedy
Stub。不要忘记s
选项使.
与换行符匹配。