当前位置: 首页 > 面试题库 >

带问号文字的Python正则表达式

廉宇
2023-03-14
问题内容

我正在使用Django的URLconf,我将收到的URL是/?code=authenticationcode
我想使用来匹配该URL r'^\?code=(?P<code>.*)$',但它不起作用。

然后我发现这是“?”的问题。
因为我尝试/aaa?aaa使用r'aaa\?aaa' r'aaa\\?aaa'even 进行匹配r'aaa.*aaa',但都失败了,但是当它是“ +”或任何其他字符时,它可以工作。
如何匹配“?”,有什么特别之处吗?


问题答案:
>>> s="aaa?aaa"
>>> import re
>>> re.findall(r'aaa\?aaa', s)
['aaa?aaa']

/aaa?aaa你的网址内部不匹配的原因是因为?开始新的GET查询。

因此,URL的可匹配部分只能达到第一个“ aaa”。其余的“?aaa”是一个新的查询字符串,由“?”分隔 标记,其中包含作为“ GET”参数传递的变量“ aaa”。

你可以在此处对变量进行编码,然后再将其放入URL。的编码形式?为%3F。

你也不应该完全匹配GET查询,例如/?code=authenticationcode使用正则表达式。相反,请/使用来匹配你的网址r'^$'。Django会将变量code作为GET参数传递给request对象,你可以使用在视图中获取该对象request.GET.get('code')



 类似资料:
  • 问题内容: 我得到了一个包含多行纯utf-8文本的文件。如下所示,按中文,是中文。 文件本身以utf-8格式保存。文件名是xx.txt 这是我的python代码,env是python2.7 这里有问题的是我没有结果。 我想从这里的十进制字符串中获得。 为什么此代码不起作用?谁能向我解释,我什么也没有。 问题答案: 您的代码有几个问题。首先,您应该使用。另外,添加re.UNICODE标志也很不错(尽

  • 我有一个非常好的正则表达式,它从文本中选择引用: 但是我需要一个正则表达式,它从没有引号的文本中选择引号。 例如,我有: 鲸鱼包括八个现存的家族:“鲸豚科”(白鲸),“鲸豚科”(露脊鲸),“鲸豚科”(侏儒露脊鲸),“白鲸科”(灰鲸),“独角鲸科”(白鲸和独角鲸),“抹香鲸科”(抹香鲸)。。。 我需要在引号之间提取文本: 龟甲翅目,龟甲翅目,龟甲翅目,... 要提取括号之间的文本,我使用正则表达式:

  • 问题内容: 我需要从字符串“ بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ”中删除一些Unicode符号 我知道他们肯定在这里。我试过了: 但这不起作用。字符串保持不变。我究竟做错了什么? 问题答案: 您使用的是python 2.x还是3.0? 如果您使用的是2.x,请尝试使用“ u”使正则表达式字符串成为unicode-escape字符串。由于它是正则表达式,因此

  • 我用Python编写了这个正则表达式并在regex101上进行了测试,但它仍然没有按照我想要的方式工作: 我试图找到的是一种模式,其中字符串可以选择以这些符号之一开头或结尾,中间只有数字: 该列表包括破折号、正斜杠、反斜杠、括号、符号、空格和句号。如果字符串只包含中间的数字,并且在字符串的开头和/或结尾有可选标点,则搜索应返回true。 此正则表达式似乎适用于大多数情况,但如果我在中间的数字中添加

  • 本文向大家介绍python正则表达式中的括号匹配问题,包括了python正则表达式中的括号匹配问题的使用技巧和注意事项,需要的朋友参考一下 问题: m = re.findall('[0-9]*4[0-9]*', '[4]') 可以匹配到4. m = re.findall('([0-9])*4([0-9])*', '[4]') 匹配不到4. 这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这

  • 我使用此模式在解析器中匹配单引号字符串: 但是我需要正则表达式,它可以找到带有 postgres 的单引号字符串,例如 bied of single qoutes(加倍单个 qoutes)。需要匹配这样的东西: 我想为以单引号开头和结尾的字符串找到最短的匹配项,因此上面的字符串意味着 3 个子字符串: