【发布时间】:2019-05-31 09:11:48
【问题描述】:
我正在编写一个正则表达式来查找 ? 并在此之前捕获所有内容。这是我目前所拥有的。
f = 'file.doc?gs_f'
f1 = re.search(r'(\?)',f)
print(f[:f1.start()]) #prints "file.doc"
如何使用正则表达式捕获? 之前的所有内容。这就是所谓的向后看,但我不确定如何使用它。
【问题讨论】:
标签: python regex python-3.x
我正在编写一个正则表达式来查找 ? 并在此之前捕获所有内容。这是我目前所拥有的。
f = 'file.doc?gs_f'
f1 = re.search(r'(\?)',f)
print(f[:f1.start()]) #prints "file.doc"
如何使用正则表达式捕获? 之前的所有内容。这就是所谓的向后看,但我不确定如何使用它。
【问题讨论】:
标签: python regex python-3.x
这可行:
^[^\?]+
并使用 findall:
f = 'file.doc?gs_f'
f1 = re.findall("^[^\?]+",f)
您可以在下面看到适用于任何类型字符串的正则表达式: Regex_Working
【讨论】:
<= 有关,但我尝试放置它,但是当我打印 f1.group(0) 或 f1.group(1) 时,我一直得到 none
【讨论】:
你不需要往后看。
f = 'file.doc?gs_f'
re.search(r'([\w\.]*(?=\?))',f).group(0)
【讨论】:
是的,它被称为正面展望。你必须向前看,直到? 到来。这是执行您的请求的正则表达式。如果您有任何问题,请告诉我。
正则表达式:'.*(?=\?)'
在这里,.* 将拉动一切。(?=) 是一个积极的展望\ 问号符号的转义字符。因为问号符号是正则表达式中的量词。
【讨论】: