Regex 使用正则表达式从文本中删除特定数字
我有一堆副标题,上面有我想去掉的额外数字Regex 使用正则表达式从文本中删除特定数字,regex,Regex,我有一堆副标题,上面有我想去掉的额外数字 0 00:00:00,262 -->00:00:30,670 <font>ﻊﻗﻮﻤﺑ ﺔﻴﺑﺮﻌﻟﺍ ﻞﻳﺪﻌﺗ ﻢﺗ</font> <font>http://arabic-subtitles-fix.com</font> 1 00:00:06,693 --> 00:00:40,161 <font>ﺡﺍﺪﻘﻟﺍ ﺔﻓﺮﻃ ﺔﻤﺟﺮﺗ</font> <font>
0
00:00:00,262 -->00:00:30,670
<font>ﻊﻗﻮﻤﺑ ﺔﻴﺑﺮﻌﻟﺍ ﻞﻳﺪﻌﺗ ﻢﺗ</font>
<font>http://arabic-subtitles-fix.com</font>
1
00:00:06,693 --> 00:00:40,161
<font>ﺡﺍﺪﻘﻟﺍ ﺔﻓﺮﻃ ﺔﻤﺟﺮﺗ</font>
<font>alkadah@gmail.com</font>
<font>(ﺖﻴﻗﻮﺘﻟﺍ ﻞﻳﺪﻌﺗ)</font>
<font>ahmtie </font>
0
00:00:00,262 -->00:00:30,670
ﻊﻗﻮﻤﺑ ﺔﻴﺑﺮﻌﻟﺍ ﻞﻳﺪﻌﺗ ﻢﺗ
http://arabic-subtitles-fix.com
1.
00:00:06,693 --> 00:00:40,161
ﺡﺍﺪﻘﻟﺍ ﺔﻓﺮﻃ ﺔﻤﺟﺮﺗ
alkadah@gmail.com
(ﺖﻴﻗﻮﺘﻟﺍ ﻞﻳﺪﻌﺗ)
艾哈迈迪
你看到那些数字0,1,等等。。。
我想去掉那些号码,因为它们会出现在我的电视上。
现在我尝试使用记事本++替换正则表达式,但它删除了所有的数字。我知道有一个代码可以做到这一点,但我无法做到这一点。请帮助您的正则表达式指定数字是行中唯一的内容
尝试
^\d*$
我不确定您使用的是什么语言,但您可以将文本逐行分解,然后读回每一行非数字
$lines = explode("\n", $yourtext);
$finalLines = array();
foreach ($lines as $line)
if (pre_match(/^\d*$/, $line))
array_push($finalLines, $line);
implode("\n", $finalLines);
也许?简单到
^\d+$
?您可能也希望匹配回车符和换行符(例如,^\d+\r\n
)@jbaums:是的,但在这种情况下,您必须将其设置为可选(对于最后一行):^\d+(?:\r?\n |$)
@Casimir总的来说是一个很好的观点,但在这里我认为可以安全地假设目标不会出现在最后一行。\d
也会(据我所知)去掉任何阿拉伯数字字符(这可能是可取的,也可能不是可取的)@西蒙诺·汉隆:我不认为这是一个问题,因为阿拉伯语字符似乎嵌入在字体标签中。