我正在尝试提取引号"
和之间的字符串.pdf
。例如,"../matlab/license_admin.pdf" abc "vfv"
->../matlab/license_admin.pdf
和"license_admin.pdf" xyz'
-> license_admin.pdf
。我尝试以下代码:
import re
base = '"../matlab/license_admin.pdf" abc "vfv"'
base1 = '"license_admin.pdf" xyz'
result = re.findall(r'\b(\S+\.pdf)\b', base)
result1 = re.findall(r'\b(\S+\.pdf)\b', base1)
print(result)
print(result1)
但这仅适用于第二个示例。代码../
在我的第一个中删除:
您能帮我修改正则表达式\b(\S+\.pdf)\b
以实现我的目标吗?非常感谢!
采用
import re
bases = ['"../matlab/license_admin.pdf" abc "vfv"', '"license_admin.pdf" xyz']
for base in bases:
m = re.search(r'"(.*?\.pdf)', base)
if m:
print(m.group(1))
参见Python演示
输出:
../matlab/license_admin.pdf
license_admin.pdf
的"(.*?\.pdf)
模式匹配"
,则捕获到第1组的任何0以上字符而换行符字符,尽可能少,然后.pdf
。使用re.search
,您将获得第一个匹配项,并m.group(1)
获得第1组的值。
请参阅regex演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句