2014-10-01 138 views
-1

我在用下面的正则表达式的麻烦: http://regex101.com/r/kH7eH4/3正则表达式的正则表达式的挑战

第一部分是我想要的,但是当我在“消息”正则表达式使用({{变量}})停止过早。 任何解决方案?

我的正则表达式:@@include\(\s*["\'](.*?)["\'](,\s*({[\s\S]*?})){0,1}\s*\)

测试用例:

@@include('./partials/message_DE.html', {"message": "text with a {{variable}}","regards":"__('Groet, het SnappCar Team.')"}) 

@@include('./partials/message_DE.html', {"message": "text with a ({{variable}}) between brackets","regards":"__('Groet, het SnappCar Team.')"}) 

回答

0

只需添加一个$符号(行尾锚的)在最后。

@@include\(\s*["\'](.*?)["\'](,\s*({[\s\S]*?})){0,1}\s*\)$ 

DEMO

OR

使用的预计。

@@include\(\s*["\'](.*?)["\'](,\s*({[\s\S]*?})){0,1}\s*\)(?=\[email protected]@|$) 

DEMO

+0

这是正确的!但是总是有一个换行符,这不是一个给定的结果,一行上可能有多个@@ include语句。有什么想法吗?谢谢! – blockwork 2014-10-01 11:49:26

+0

但它解决了你目前的问题。你能否提供一些例子。 – 2014-10-01 11:51:40

+0

下面是一个示例:http://regex101.com/r/kH7eH4/7感谢 – blockwork 2014-10-01 12:28:00

相关问题