django中以下两个url模式之间有什么区别?
android:background="@color/primary"
根据我的理解,' ^ $'和''引用一个空字符串。什么' ^ $'和''实际指定?
答案 0 :(得分:22)
在正则表达式中,^
和$
是特殊字符。
^
(Caret):
^
匹配字符串的开头。
假设我的正则表达式为^a
,那么正则表达式将在字符串的开头查找a
:
'a' # Matches 'a' in 'a'
'abc' # Matches 'a' in 'abc'
'def' # Not match because 'a' was not at the beginning
$
(美元符号):
$
匹配字符串的结尾。
如果我的正则表达式是b$
,那么它将匹配字符串末尾的b
:
'b' # Matches 'b' in 'b'
'ab' # Matches 'b' in 'ab'
'abc' # Does not match
使用r'^$'
:
将^
和$
同时用作^$
将匹配空行/字符串。
url(r'^$', views.indexView, name='index')
当Django遇到空字符串时,它将转到index
页面。
使用r''
:
当您使用r''
时, Django将在网址中的任意位置查找空字符串,对于每个网址都是如此。
所以,如果您的网址是这样的:
url(r'', views.indexView, name='index')
您的所有网址都会转到index
页。
答案 1 :(得分:5)
^$
表示开始和结束之间没有任何内容...此仅匹配空字符串
''
表示一个空字符串(但没有指定整个字符串的开头或结尾),所以当你遇到字符串中的任何内容时,它会很好地说明匹配'asdasd'
例如在开头匹配空字符串...剩余的传递给新的url规则脚本(在这种情况下,一切都保留)
如果您的第二条规则是'a'
,那么它将与asdasd
中的第一条规则相匹配,并将sdasd
传递给新的网址匹配规则集
免责声明这可能是一个粗略的过度简化,但基本上是真的
答案 2 :(得分:1)
^ $ - 它指定URL字符串的起点和终点。
' ' - URL方法中的空字符串表示,如果遇到未在url模式中定义的任何其他URL模式,则应调用相应的空字符串视图
答案 3 :(得分:0)
^ $表示您正在匹配这两个特殊字符之间的字符串