正则表达式意外结束

2023-12-08

我只想从路径中获取带有扩展名的文件名:

C:\\Users\\anandada\\workspace\\MyTestProject\\src\\OpenTest.c

以下声明,

fileName = re.match("[^\\]*.c$", fileName)

给出错误:

正则表达式意外结束

我正在使用 python 3.3.2


你需要double双重逃脱again, or使用原始字符串代替:

fileName = re.match("[^\\\\]*.c$",fileName)

or

fileName = re.match(r"[^\\]*.c$",fileName)

否则首先是Python,然后正则表达式编译器将解释这些反斜杠,从而产生]被逃脱:

>>> print("[^\\]*.c$")
'[^\]*.c$'

另请参阅黑斩瘟疫 sectionPython 正则表达式 HOWTO 的内容。

接下来,您需要注意的是re.match 锚点到字符串的开头。你可能想要使用re.search()而不是这里。请参阅match() vs. search() section:

The match()函数仅检查 RE 是否在字符串的开头匹配,而search()将向前扫描字符串以查找匹配项。记住这种区别很重要。

你可能还想逃离. in the .c part; .匹配任何字符,所以foobaric也会匹配;这i会满足.图案。

The re.match() and re.search()函数返回一个匹配对象,不是字符串的匹配部分。您必须明确提取该部分:

fileName = re.search(r'[^\\]*\.c$', fileName).group()

Demo:

>>> import re
>>> fileName = 'C:\\Users\\anandada\\workspace\\MyTestProject\\src\\OpenTest.c'
>>> re.search(r'[^\\]*\.c$', fileName).group()
'OpenTest.c'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式意外结束 的相关文章

  • 在 Spyder 中使用 input() 时 Matplotlib 冻结

    Windows 7 如果我在命令行打开一个普通的 ipython 终端 我可以输入 import matplotlib pyplot as plt plt plot 1 2 3 4 5 plt show block False input
  • 使用 scipy.signal.spectrogram 在 pyqtgraph 中绘制 wavfile 的频谱

    我有一个用于音乐和语音分析的 PyQt 加 pyqtgraph 程序 我想绘制 wav 文件的频谱 使用 scipy python 包计算 我可以在 matplotlib 中完成 但由于 matplotlib 的性能 我需要切换到 pyqt
  • 正则表达式挑选括号之间的一些文本[重复]

    这个问题在这里已经有答案了 可能的重复 提取 R 中所有括号内的信息 正则表达式 https stackoverflow com questions 8613237 extract info inside all parenthesis i
  • 如何将多个 Excel 工作表转换为 csv python

    我想转换所有的excel文档 xls 将工作表转换为 csv 如果 excel 文档只有一张工作表 那么我将进行如下转换 wb open workbook path1 sh wb sheet by name Sheet1 csv file
  • Django 视图集没有属性“get_extra_actions”

    我第一次使用 Django 我正在尝试构建一个 API 我正在遵循一些教程和示例 它工作正常 但在安装所有要求和项目后 我现在正在 Raspberry Pi 中运行该项目失败并出现以下错误 Performing system checks
  • 如何将魔杖图像对象转换为 numpy 数组(不使用 OpenCV)?

    我正在使用将 pdf 文件转换为图像Wand http docs wand py org en 0 4 4 然后 我使用 ndimage 进行进一步的图像处理 我想直接将 Wand 图像转换为 ndarray 我已经看到答案here htt
  • 组内条件计数

    我想在之后进行条件计数groupby 例如 按列的值分组A 然后计算每组中值出现的频率5出现在列中B 如果我整个过程都这样做DataFrame 只是len df df B 5 所以我希望我能做到df groupby A df B 5 siz
  • 需要Python字长函数示例

    我的家庭作业有点困难 我本来应该编写一个函数 limitWords 将输入限制为 20 个单词 如果输入超过 20 个单词 则将输入截断为仅 20 个单词 我使用 len text split 作为计算单词的方法 因此 20 个或更少的部分
  • 无法启动 Windows 快捷方式

    我正在尝试使用 python 启动 Windows 我已经尝试了 os system subprocess call os startfile 等多种方法 但总是收到错误消息 指出路径不存在 我知道路径是正确的 因为我尝试在 CMD EXE
  • 将 Python 列表(JSON 或其他)插入 MySQL 数据库

    所以我在Python中有一堆数组数据 嗯 相反 我有一个清单 我试图将此数组存储到 MySQL 数据库中的单个单元格中 我尝试使用 JSON 来序列化我的数据 但也许我不明白 JSON 是如何工作的 因此 在连接到我的数据库后 我尝试了上游
  • 字段“id”期望一个数字,但得到“natsu”django

    我想创建一个 user posts 视图 其中包含与特定用户相关的所有帖子 假设有用户 Natsu 撰写的博客帖子 那么登录用户 Testuser 将能够查看所有帖子由该用户发布 即用户 Natsu 的所有帖子 blog models py
  • Python列表错误还是我错了?

    我构建了一个 3 级嵌套列表 run on Python 3 2 3 32 bit on Win 7 L2 list 0 for i in range 2 L3 list L2 for i in range 3 L4 list L3 for
  • 如何在Python Selenium中获取WebElement的类名?

    我使用 Selenium WebDriver 来抓取从网页中获取的 用 JavaScript 编写的表格 我正在迭代表行列表 每行可能属于不同的类别 我想获取此类的名称 以便我可以为每一行选择适当的操作 table body table f
  • 在Python中将数组的元素从科学记数法转换为十进制记数法

    我有一个 numpy 数组 其元素采用科学格式 我想将它们转换为十进制格式 我的 numpy 数组如下所示 array 93495052 96955582 98555123 06146193 array 1 00097681e 09 9 9
  • Django Admin Media 前缀 URL 问题

    我有以下文件夹结构 src BAT templates admin base html src BAT media base css src BAT media admin media base css 设置 py MEDIA ROOT o
  • DataFrame 对象没有属性“sort_values”

    dataset pd read csv dataset csv fillna 100 dataset Id 0 dataset i 0 dataset j 0 entries dataset dataset Id 0 print type
  • 仅将唯一行插入 SQLite (python)

    我在用着cursor executemany将 CSV 文件中的批量行插入到 SQLite 表中 根据主键字段 其中一些行预计会重复 当我执行该命令时 可以预见的是 我会收到完整性错误 并且不会插入任何内容 如何有选择地仅插入非重复行 而无
  • 子进程调用,它们是并行完成的吗?

    我一直在谷歌搜索这个问题的答案 但似乎没有一个答案 谁能告诉我如果subprocess模块是否并行调用 Python 文档建议它可用于生成新进程 但没有提及它们是否并行 如果它们可以并行完成 您能否给我举一个例子或将我链接到一个例子 这取决
  • 评估 df 每行中的日期时间函数是否落在另一个 df 中的日期时间范围内

    我是 python 新手 需要一些帮助来解决有关日期时间函数的问题 I have df a其中有一列标题为time 我正在尝试创建一个新专栏id在这个df a 我想要id根据时间是否包含在某个时间范围内来确定的列df b date 和 da
  • 查找和替换正则表达式问题

    感谢这里对我其他问题的所有大力帮助 我开始掌握正则表达式 但我仍然对这个一无所知 我的代码是 StreamReader reader new StreamReader fDialog FileName ToString string con

随机推荐

  • 如何在Android操作栏开关中获取/设置操作事件

    我找到了这个帖子如何给android操作栏添加开关 这对我有用 但我无法获取它的事件 我正在使用 appcompat 并且我对 actionLayout 和 showAsAction 使用了应用程序命名空间 但我无法处理其对 onOptio
  • 根据模式将文件拆分为多个文件,并通过 Unix 中的搜索模式命名新文件?

    如何根据搜索模式拆分文件 并且将生成的新文件的文件名将等于用于拆分文件的搜索模式 目前 我正在使用以下命令来分割文件 awk GROUP x F i print gt x cdw all jobs reduced3 txt 它生成的文件名称
  • 使用 jQuery 和 Drupal6 自动更新宽度/长度/面积

    我正在使用 Drupal 创建测量表 Drupal 6 中的测量表 并且现在所有字段都已就位 我只需要编写一些 jQuery 在用户输入数据时自动更新相应的字段 代码如下 jQuery document ready function inp
  • 如何将列表分配为子列表,同时保持元素的原始顺序?

    如何将列表拆分为给定数量的列表 按顺序获取元素并将它们分配到子列表 因此不对列表进行分区 我想尽可能 好 地做到这一点 使用 Java 8 功能或 Guava 或类似的东西 示例列表 1 2 3 4 5 6 7 应分为 3 部分 1 4 7
  • 在 HTML 选择下拉选项中设置下拉元素的宽度

    我正在开发一个网站 该网站涉及使用 PHP 脚本自动填充选择框 这一切都工作正常 除了问题是我用来填充文本框的标题很长 它们是期刊文章和演示文稿标题 下拉框延伸到最长元素的宽度 该元素延伸到屏幕边缘 因此使滚动条无法到达 我尝试过各种方法尝
  • 使用 Postman 访问 OAuth 2.0 Google API

    我正在尝试访问邻近谷歌API using 邮递员 Chrome 应用程序 我已按照邮递员和谷歌开发网站上的教程进行操作 但仍然收到 401 错误消息 我在做什么 第 1 步 启用 Proximity API 为了使用 Proximity A
  • :app:processDebugResources 的executeTaskAction 失败

    我收到此错误消息 构建 构建失败 gt 运行构建 gt 运行任务 gt app processDebugResources gt executeTaskAction 下面显示的代码顺序为 错误消息 然后 build gradle Proje
  • 为什么Python中主进程退出时子进程(daemon=True)不退出?

    这是官方的解释daemonpython 多处理中的标志 当进程退出时 它会尝试终止其所有守护子进程 据我了解 父进程退出时会杀死其守护进程标志设置为 True 的子进程 下面是我用来证明我的猜测的代码 但结果不同 import multip
  • 打字稿条件:backend_layout(带幻灯片)

    我用这个条件 globalVar GP colPos 0 page backend layout pagets MainTemplate 我的问题是我的 子页面 没有选择 backend layout 因为设置了父页面 后端布局 此页面的子
  • C函数内存分配

    在 C 语言中 函数何时分配以及它在内存中的何处 函数的内存是在第一次编译程序时分配的 还是在第一次看到函数调用时分配的 它是分配在堆栈上还是在代码段中 你的问题问得很好 但是要做好应对一些额外复杂性的准备 因为其中一些东西会接触到运行代码
  • 使用 AutoHotKey 查找并填写输入字段

    对所有 AutoHotKey 大师的挑战 给我们一个函数查找并移动光标到输入字段 例如登录名 或者发送输入文本 对于像我这样又老又懒的黑客来说 只是摆弄 AHK 它看起来像这样 FindFillField elementid sendtex
  • Javascript Array.some() 和 Array.every() 相当于 Set?

    在 JavaScript 中 是否有等价的Array some and Array every 为了Set内置对象 不 唯一的内置方法Set prototype are Set prototype add Set prototype cle
  • 从 &str 数组获取 Iterator

    我正在尝试抽象一个函数来获取两个实例std str Lines以及用于测试目的的模拟版本 由一系列创建 str 我的代码 确实有效 看起来像这样 use std fs test fn test day 1 let v 3 3 4 2 4 i
  • 如何解决“Newtonsoft.Json.JsonSerializationException无法找到用于类型的构造函数”Android错误?

    我正在使用 Unity3D 开发应用程序 我将我自己的实用程序 DLL 与一些类一起使用 我已经工作了几个月了 并且毫无问题地进行了很多构建 编译 上周向 DLL 添加了一个新类 它在我的 PC 中运行良好 但当我构建该项目并在我的 And
  • Pymunk 伺服关节

    如何在 Pymunk 中实现 伺服 关节 我正在尝试创建一个简单的模型 其中一个盒子在其下方的一条细 腿 上保持平衡 我已经能够创建一个盒子并使用PinJoint 但似乎没有任何方法可以控制连接连接到盒子的角度 我希望能够指定附着角度 其他
  • 在 scons 'Program' 命令中使用 'LIBS' 找不到静态库,为什么?

    我有一个 n c 作为主函数 o c 作为导入函数 如下所示 cat n c o c int f int main f return 0 include
  • 将节点附加到现有的 xml-Java

    我已经看到 vb 和 c 回答了同样的问题 但我需要一个 Java 最佳解决方案来将节点附加到 xml xpath 有帮助吗 我有 a b b a
  • 在 Ember.CollectionView 渲染结束时运行 jquery

    我有一个容器视图其中包含一个集合视图 在这之后集合视图呈现在屏幕上我需要执行jquery函数它本质上是查看渲染模板的内容并执行一些显示修改 如果我在插入元素 of 集合视图它可以工作 但它会针对中的每个元素执行集合视图因为我真的只需要在最后
  • 如何在气泡图中的 ggplot 2 中设置 geom_vline 和 geom_hline 的背景

    我想在气泡图上添加一条垂直线和一条水平线 而不过度绘制气泡 数据来了 a lt c np prepp vp animal artifact communication ipv isv b lt c 0 51 0 32 0 85 0 61 0
  • 正则表达式意外结束

    我只想从路径中获取带有扩展名的文件名 C Users anandada workspace MyTestProject src OpenTest c 以下声明 fileName re match c fileName 给出错误 正则表达式意