我有一个正则表达式模式,可以在大约50%的情况下捕捉我想要的内容,我发现它与它不匹配的情况与字符串中的空格有关。这是与JavaScript正则表达式BTW。复杂的正则表达式模式不能识别空格?
正则表达式:
/\[url="https?:\/\/([a-z0-9-]+\.)*cnn\.com\/newsreel\/showreel\.php\?id=?([^\s]*[^.])?\"\]([^\s]*[^.])\[\/url\]/gi
字符串匹配
A)[url="http://www.cnn.com/newsreel/showreel.php?id=977976"]Test123[/url]
B)[url="http://www.cnn.com/newsreel/showreel.php?id=977976"]Test 1 2 3[/url]
现在,如果我尝试运行ŧ他在A上的模式,它工作A - 好。但在B上,由于所有的空间,它失败了。
我认为这与我的第3匹配组([^\s]*[^.])
有关,我猜这不是空格。任何人有任何想法,我怎样才能让它匹配空格以及?
谢谢!
你破解它,非常感谢! – Mark
其实我遇到了一个更多的测试问题,它捕获多余的字符。我将如何使用你的[\ S] *的其他建议? – Mark
使用'([\ S] * [^。])'作为第三个匹配组。 –