2015-09-15 33 views
-1

所以我有這樣的模式:如何找出部分字符串是否在引號中?

{% url my_view %} 
{% url my_view user_id %} 

這是不好的,所以相反,它應該是這樣的:

{% url 'my_view' %} 
{% url 'my_view' user_id %} 

所以'my_view'部分應該總是在引號。我需要做的是我需要找到'my_view'部分不在引號中的所有事件。

我該怎麼辦?

+1

是用括號或引號問題了嗎? –

+0

報價,我的壞,謝謝你的注意 – Tachi

回答

1

使用lookarounds:

(?<={% url)[^'\s]*(?!') 

See it in action

+0

'my_view'''就是我自己的例子,可能有任何文字。 – Tachi

+0

@Tachi,好的,已更新。 – ndn

+0

如果我也想排除'''my_view「'''我應該像這樣加''''''?(?<= {%url)[^'」\ s] *( ?!')'''? – Tachi

1

可以替換以下的正則表達式的結果:

/\{% url (\S+)(.*)%\}/ 

有了:

/\{% url \'\1\'\2%\}/ 

或在某些正則表達式引擎,你可能需要使用$1而不是\1

1

您可以使用以下方法來匹配:

(?<=\{% url)(\S+) 

並將其替換:

'$1' 

DEMO

編輯:如果你已經有一些my_view的引號使用以下方法:

(?<=\{% url)([^']\S+[^'])(?=\s) 

DEMO

相關問題