PHP 预替换 : "a period with numbers on each side"

标签 php regex replace preg-replace

我正在尝试使用时间码和字幕搜索 csv,并更改时间码格式。

例如:

timecode_in, timecode_out, text
01:09:37.12,01:09:40.11,and we felt very close to them.

我需要用冒号替换时间码中的所有句点。但我需要对其进行过滤,以使其不会更改文本中的句点。

我认为应该有一种方法可以这样说:“如果句号两边都有数字,请用冒号替换它。”

谁能帮我解决这个问题?我以前从未使用过正则表达式。

最佳答案

表达方式是lookbehind and lookahead assertions

(?<=\d)\.(?=\d)

查看here on Regexr

(?<=\d)是一个 lookbehind 断言,确保当前位置之前的数字

(?=\d)是一个前瞻断言,确保当前位置前面有一个数字

但是那些数字不是匹配项的一部分!

关于PHP 预替换 : "a period with numbers on each side",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828947/

相关文章:

php - 在php中匹配来自mysql的电话号码

regex - Perl regex - 删除除字母数字字符和逗号以外的所有字符

java - : a string should not contain any sequence of characters immediately followed by the same sequence? 的正则表达式示例是什么

replace - 千里马:如何用符号代替普通子表达式

php - 计算总条目数并在 Laravel 中制作一个数字列表

javascript - 提交禁用输入的表单

php - 在 SQL 查询中根据列值和组添加值。

ios - Swift 正则表达式匹配 unicode

python - 使用 python 替换日期列中缺少的月份和年份

java - 替换大字符串中的大量子字符串