用于时间格式化以节省空间的JavaScript正则表达式

用于时间格式化以节省空间的JavaScript正则表达式,javascript,regex,Javascript,Regex,我需要正则表达式的帮助,可以在下面做 08:30a期望输出8:30a 08:00p期望输出8p 02:45a所需输出2:45a 10:05a期望输出10:05a 12:53p期望输出12:53p 谢谢你的帮助如果我明白你的意思- # Find: /(?:[0]([1-9])|([1][0-2]))(?:(?::00|(:[0][1-9]))|(:[1-5][0-9]))([aApP])[mM]?/ # Replace: $1$2$3$4$5 (?: [0]

我需要正则表达式的帮助,可以在下面做

08:30a期望输出8:30a
08:00p期望输出8p
02:45a所需输出2:45a
10:05a期望输出10:05a
12:53p期望输出12:53p


谢谢你的帮助

如果我明白你的意思-

 # Find:  /(?:[0]([1-9])|([1][0-2]))(?:(?::00|(:[0][1-9]))|(:[1-5][0-9]))([aApP])[mM]?/
 # Replace:  $1$2$3$4$5

 (?:
      [0] 
      ( [1-9] )                # (1)
   |  
      ( [1] [0-2] )            # (2)
 )
 (?:
      (?:
           : 00 
        |  
           ( : [0] [1-9] )     # (3)
      )
   |  
      ( : [1-5] [0-9] )        # (4)
 )
 ( [aApP] )                    # (5)
 [mM]? 
Perl测试用例

$/ = undef;

$str = <DATA>;

$str =~ s/(?:[0]([1-9])|([1][0-2]))(?:(?::00|(:[0][1-9]))|(:[1-5][0-9]))([aApP])[mM]?/$1$2$3$4$5/g;

print "$str\n";


__DATA__

08:30a desired output 8:30a
08:00p desired output 8p
02:45a desired output 2:45a
10:05a desired output 10:05a
12:53p desired output 12:53p 

-你试过什么?也许你还可以再努力一点,把问题问清楚。你为什么认为正则表达式是最好的选择?
8:30a desired output 8:30a
8p desired output 8p
2:45a desired output 2:45a
10:05a desired output 10:05a
12:53p desired output 12:53p