使用正则表达式 C# 解析字幕文件

2023-12-15

我需要找到数字、输入和输出时间码点以及文本的所有行。

9
00:09:48,347 --> 00:09:52,818
- Let's see... what else she's got?
- Yea... ha, ha.

10
00:09:56,108 --> 00:09:58,788
What you got down there, missy?

11
00:09:58,830 --> 00:10:00,811
I wouldn't do that!

12
00:10:03,566 --> 00:10:07,047
-Shit, that's not enough!
-Pull her back!

我目前正在使用这种模式,但它忘记了所有两行文本

(?<Order>\d+)\r\n(?<StartTime>(\d\d:){2}\d\d,\d{3}) --> (?<EndTime>(\d\d:){2}\d\d,\d{3})\r\n(?<Sub>.+)(?=\r\n\r\n\d+|$)

任何帮助将非常感激。


我认为正则表达式有两个问题。首先是.接近尾声时(?<Sub>.+)不匹配换行符。所以你可以将其修改为:

(?<Sub>(.|[\r\n])+?)

或者你可以指定RegexOptions.Singleline作为正则表达式的选项。该选项唯一做的就是使点匹配换行符。

第二个问题是.+匹配尽可能多的行。你可以让它变得非贪婪,例如:

(?<Sub>(.|[\r\n])+?(?=\r\n\r\n|$))

这匹配以空行或字符串末尾结尾的最少量文本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用正则表达式 C# 解析字幕文件 的相关文章

  • 正则表达式:如何找到模式的最大整数值?

    想象一下我有以下字符串 I ll have some 1 some 42 and maybe some 5 as well 基本上 我有兴趣了解遵循模式 integer 的最大整数值 我什至不确定是否可以使用正则表达式 我可以使用什么正则表
  • mod_rewrite 可以转换任意数量、任意名称的参数吗?

    我对 mod rewrite 完全是个新手 我想做的事情听起来很简单 我不想拥有domain com script php a 1 b 2 c 3 我想要 domain com script a 1 b 2 c 3 问题是我的脚本采用各种组
  • 如何替换字符串中除第一次出现之外的所有模式

    快速问题 我的模式是一个 svg 字符串 它看起来像l 5 0 l 0 10 l 5 0 l 0 10要与参考进行一些单元测试比较 我需要放弃除第一个之外的所有内容l我知道我可以放弃它们并在前面放置一个 l 或者我可以使用子字符串 但我想知
  • 使用 sed 和 grep/egrep 进行搜索和替换

    我在用egrep R后跟包含大约 10 个并集的正则表达式 如下所示 jpg png gif等等 这很好用 现在我想替换所有找到的字符串 bmp 我在想类似的事情 egrep lR jpg png gif sed s some expres
  • 正则表达式与 ls 的用法

    我正在尝试使用 ER 扩展正则表达式 with ls like ls 我正在尝试打印包含扩展名的所有文件 我知道我可以用ls 但我想尝试使用 ER 当我运行该代码时 我收到此错误 ls No such file or directory 您
  • 回退到正则表达式中字符串的开头

    是否可以让正则表达式退回到字符串的开头并再次开始匹配 这就是我问的原因 给定下面的字符串 我想捕获子字符串black red blue and green按照该顺序 无论主题字符串中出现的顺序如何 并且仅当所有子字符串都存在于主题字符串中时
  • 用于验证 JSON 的正则表达式

    我正在寻找一个允许我验证 json 的正则表达式 我对正则表达式非常陌生 我知道用正则表达式解析很糟糕 但它可以用来验证吗 是的 可以进行完整的正则表达式验证 大多数现代正则表达式实现都允许递归正则表达式 它可以验证完整的 JSON 序列化
  • preg_match():编译失败:字符类中偏移量的范围无效

    预先感谢您花时间帮助解决此问题 preg match 编译失败 session php 第 278 行偏移量 20 处的字符类范围无效 经过几个月的工作 在我们的服务器上进行 PHP 升级后 它突然停止工作了 这是代码 else Spruc
  • 正则表达式检查 ruby​​ 中的字母数字字符串

    我正在尝试验证 ruby 中的字符串 任何包含空格 下划线或任何特殊字符的字符串都将无法通过验证 有效字符串应仅包含字符 a zA Z0 9 我的代码看起来像 def validate string regex a zA Z0 9 if s
  • 正则表达式 - Python - 删除前导空格

    我使用正则表达式在文本文件中搜索 产品 一词 然后 我使用该搜索的起点和终点来查看该列并提取整数 有些实例 A 列 有我不想要的前导空格 我只想将数字 如 B 列中的数字 打印到文件中 没有前导空格 正则表达式中的正则表达式 有条件的 pr
  • VS Code 多行搜索和替换 HTML / XML 标签? [复制]

    这个问题在这里已经有答案了 如何搜索可能包含多个非空行的开始和结束标记
  • 在 R 中提取模式/分隔符之间的字符串

    我的变量名称格式如下 PP Sample 12 GT or PP Sample 17 GT 我正在尝试使用字符串拆分来 grep 出中间部分 即Sample 12 or Sample 17 但是 当我这样做时 IDtmp lt sapply
  • 在 Java/GWT 中解析用户时间输入

    解析用户在 GWT 中的文本字段中键入的时间的最佳方法是什么 默认时间格式要求用户完全按照区域设置指定的时间格式输入时间 我想要更加灵活 因为用户可以通过多种不同的方式输入时间 例如 8 8p 8pm 8 15pm 13 15 1315 1
  • 基于Java模式分割字符串

    您好 我有以下模式的日志文件 2014 03 06 03 21 45 432 ERROR mfs pool 3 thread 19 dispatcher StatusNotification Error processing notific
  • Logstash if 语句与正则表达式示例

    谁能告诉我什么是if带有正则表达式的语句看起来像在logstash中 我的尝试 if fieldname 0 9 if fieldname 0 9 两者都不起作用 我打算做的是检查 fieldname 是否包含整数 将其他答案合并成一个有凝
  • 只有一组多次捕获

    String 50 60 70 50 1 7 9 51 5 9 10 Want 9 51 Tried G K d Result 1 7 9 51 看来您正在使用 PCRE 正则表达式来获取可以在内部数学运算符前面添加的数字 没有内在的 Us
  • 在 p 标签中换行/换行

    我有多个文本文件 需要使用正则表达式将每个段落包装在 p 标记中 即之前 Paragraph 1 Paragraph 2 Paragraph 3 After p Paragraph 1 p p Paragraph 2 p p Paragra
  • 将 JavaScript 正则表达式转换为 C#

    如何将以下 Regex 语句转换为 C Match match Regex Match line Trim A Za z s A Za z RegexOptions IgnoreCase if match Success do someth
  • 负向查找正则表达式 - 仅出现一次 - Java

    我正在尝试查找字符串是否包含only one一个词的出现 e g String jjdhfoobarfoo Regex foo gt false String wewwfobarfoo Regex foo gt true String jj
  • 正则表达式:如何获取组名称

    我有一个 NET 正则表达式 它看起来类似于

随机推荐

  • jsf2.0 - 如何获取请求范围内其他 jsf 页面 bean 中的值

    我有两个页面 myaccount xhtml 和 selectbank xhtml 在我的帐户页面中 有一个充值帐户选项 当用户按下提交按钮时 用户将在其中输入金额 然后它将使用以下 bean 方法转到选择银行页面 public Strin
  • 更改 mat-list-option 中的文本颜色

    我在用mat selection list组件其中mat list option正在显示一个contact list如下所示 Now the background color当我点击特定时正在改变contact name 例如格雷姆天鹅 和
  • 如何获取 Rplotly 的旭日图中点击切片的 event_data

    当使用plotly R包在Shiny应用程序中创建旭日饼图时 用户可以单击图来动态放大 缩小 我们希望能够下载当前选定 居中片段的一些数据 但是 我们无法从所有可能的 eventdata 选项中找到此信息 有悬停事件 但这还不够 因为用户可
  • Nokogiri 解析 ajax 加载的内容

    nokogiri 是否可以解析通过 ajax 加载的内容 如果不是 我将如何实现这一目标 Nokogiri 无法看到 AJAX 内容 因为它不是 Javascript 解析器 因此无法解释它并执行所需的请求 您想要的是 Watir 或其衍生
  • Bootstrap typeahead 绑定值与淘汰赛 js 不起作用

    我有一个使用淘汰赛创建的 ViewModel 其中包含我的产品的所有信息 它看起来像这样 var ProductViewModelDS function data var self this self ProductSKUID ko obs
  • 根据java中的字母将按字母顺序排序的列表拆分为子列表

    我在java中有一个排序列表 我只想根据列表每个索引的第一个字母将该列表拆分为子列表 例如 列表包含 calculator catch doll elephant 我想要子列表为 calculator catch doll elephant
  • Grails 3 自动重新连接 MS Sql Server

    我正在 Grails 3 2 2 上开发一个 Web 应用程序 使用 spring boot 和 hibernate 以及 MS SQL Server 作为后端数据库 我希望每当 SQL Server 在重新启动或出现任何其他问题后恢复时
  • http.get 被调用两次

    我有这个 http get 请求 但它被触发了两次 它在我的构造函数内 import Component from angular core import NavController LoadingController from ionic
  • 派生接口中的新方法声明

    我最近研究了一些代码 遇到了一个派生接口 它声明new与基本接口具有完全相同的名称和签名的方法 public interface IBase Result Process Settings settings public interface
  • 将 YUV 绕过 RGB 步骤转换为 HSL 或 HSV

    维基百科和大量在线资源为 RGB 之间的各种颜色空间转换提供了详细且丰富的帮助 我需要的是一个直接 YUV gt HSL HSV 转换 事实上我需要的只是Hue 不太关心饱和度或亮度亮度 值 换句话说 我只需要计算给定 YUV 颜色的 颜色
  • 为什么我的 UITableView 不响应 TouchBegan?

    我正在使用这个方法 void tableView UITableView tableView touchesBegan NSSet touches withEvent UIEvent event UITouch touch event al
  • 从本地主机或外部服务器将文件上传到 Google Cloud Storage

    我想通过托管在我的本地主机或外部服务器中的 PHP 或 JavaScript 应用程序将文件上传到 Google Cloud Storage 存储桶 当我尝试时 Google Cloud Storage 专门支持从 Google App E
  • java @Asynchronous 方法:不运行异步

    我尝试运行一个异步进程 基于这个例子 http tomee apache org examples trunk async methods README html 但方法addWorkflow Workflow workflow 仅当代码在
  • JW Player:跨浏览器“显示:无”播放器行为

    有没有一种简单 预先的方法可以让 FF 和 IE 同等对待隐藏的 JW 玩家 我将播放器的不同实例动态放置在 jQuery 生成的选项卡中 实际上 切换选项卡会隐藏每个玩家的父 div 在 FireFox 中 选项卡切换和伴随的 显示 更改
  • MVVM Light 上缺少 EventToCommand

    这个有用的类似乎从最新的 MVVM Light 版本中消失了 知道为什么或如何解决它吗 我正在使用 MvvmLightLibs 5 0 1 0 肯定存在于 MvvmLightLibs 4 1 27 0 上 所以这个问题与一个无关Window
  • 全球位置输入自动完成

    我正在寻找一个插件来创建一个智能位置表单字段 该字段具有建议的自动完成功能 我无法找到任何合适的东西 Google 地理编码本身太不可靠 而且它不是为此设计的 所以我构建了自己的 我认为 2011 年还没有这样的开源全局位置输入插件 这太疯
  • 无法在 Powershell 中比较两个变量

    我正在使用 Powershell 并且尝试将驱动器的可用空间与我想要放入驱动器的文件大小进行比较 但它似乎不喜欢这种比较 并且出现以下错误 我想知道每个值前面的名称是否导致了问题 如果是这种情况 有没有办法在保留名称的同时正确比较这些值 或
  • 刷新控制器使用的页面时,控制器中使用的 $rootscope 值将被覆盖

    在我的 AngularJS 页面中 我使用 AngularJS 的 rootscope 对象将全局数据传递到另一个控制器 在我的控制器中 我成功地捕获了存储在 rootscope 对象中的值 并且该值正确填充 并且我正在标签控件中使用该值
  • Sublime Text/代码无故解析错误,隐藏字符

    我多年来一直遇到这个问题 但不像今天那么频繁 这促使我一劳永逸地问这个问题 有时 今天对于几乎所有逻辑 我的简单 PHP 代码会因解析错误而失败 有时 PHP 是正确的 但通常不会出现错误 并且当再次编写完全相同的代码时 它可以正常工作而不
  • 使用正则表达式 C# 解析字幕文件

    我需要找到数字 输入和输出时间码点以及文本的所有行 9 00 09 48 347 gt 00 09 52 818 Let s see what else she s got Yea ha ha 10 00 09 56 108 gt 00 0