我正在写信寻求您的帮助,以找到一种解决方案,以修复在RangeToTable()函数的输出中使用的以下正则表达式。 RangeToTable()函数输出具有几种类型的值的HTML代码,其中我们还有带有日期的列。日期以我们需要的格式显示,即日期名称,时间戳和时区。我们只需要日期,别无其他。

为此,我想出了另外一列,其中我使用RegexReplace()函数查找并替换了所有以时区结尾的时间戳,但是,当我这样做时,它将匹配从第一个实例到最后一个实例的所有内容。整个代码将替换整个内容,而不是仅用时区替换时间戳集。

如果我在代码中手动输入换行符(在每个HTML结束标记后按键盘上的Enter)并添加全局(\ g)开关,则效果很好,但是,我需要在原始代码形式上实现这将使用公式自动进行。

正则表达式我正在使用:

\s(2[0-3]|[01][0-9]):[0-5][0-9]:[0-9][0-9].*\)/g


代码示例:

<table cellpadding="8" cellspacing="0" style="border: 1px solid grey;">
<tr><th style="background-color:#DDDDDD; border: 1px solid grey;">Hire Date</th>
<th style="background-color:#DDDDDD; border: 1px solid grey;">Last Work Date</th>
<th style="background-color:#DDDDDD; border: 1px solid grey;">Last Paid Date</th></tr><tr>Sun Jun 16 2013 14:30:00 GMT-0400 (EDT)</td><td style="border: 1px solid grey;"></td><td style="border: 1px solid grey;"></td></tr><tr><td style="border: 1px solid grey;">Thu May 31 2018 14:30:00 GMT-0400 (EDT)</td><td style="border: 1px solid grey;"></td><td style="border: 1px solid grey;"></td></tr><tr><td style="border: 1px solid grey;">Sun Nov 26 2017 13:30:00 GMT-0500 (EST)</td><td style="border: 1px solid grey;"></td><td style="border: 1px solid grey;"></td></tr><tr><td style="border: 1px solid grey;">Sun Jun 10 2018 14:30:00 GMT-0400 (EDT)</td><td style="border: 1px solid grey;"></td><td style="border: 1px solid grey;"></td></tr><tr><td style="border: 1px solid grey;">Sat Jul 08 2017 14:30:00 GMT-0400 (EDT)</td><td style="border: 1px solid grey;"></td>
<td style="border: 1px solid grey;"></td></tr></table>


请帮助我找到合适的修复程序。

最好的祝福,
赛义德·H

最佳答案

试试这个(在// g里面):

[^<>]+(2[0-3]|[01][0-9]):[0-5][0-9]:[0-9][0-9][^<>]+


由于日期字符串位于HTML标记内(在“>”之后和“
10-08 00:57