Web*_*rer 1 javascript regex date
我正在尝试将日期格式字符串(和输入日期字符串)分解为多个部分(标记)。
日期格式可以在标记之间使用任何分隔字符,只要标记有效即可。日期/时间将被解析为格式,非字母数字字符将保留到输出字符串中。我想从日期/时间格式字符串和输入日期/时间字符串中删除标记。
我需要在所有非字母数字字符集上拆分字符串
例如,假设我的日期格式字符串是:
'dddd, MMMM D, YYYY h:mm A'
Run Code Online (Sandbox Code Playgroud)
我想要字符串中所有日期/时间标记的数组。我的输出应该是:
['dddd', 'MMMM', 'D', 'YYYY', 'h', 'mm', 'A']
Run Code Online (Sandbox Code Playgroud)
我尝试了几次,但我仍然不知道如何做到这一点。我能够想出正则表达式:
[^\w]|[_]
Run Code Online (Sandbox Code Playgroud)
它应该匹配[a-zA-Z0-9_]第一个替代项中不存在的任何字符,或者_按字面匹配第二个替代项。
我已经测试了这个正则表达式并且它确实有效,但是我如何正确使用它?
我尝试使用:
var format_tokens = display_format.match(/[^\w]|[_]/g);
Run Code Online (Sandbox Code Playgroud)
..当然,这让我返回:
format_tokens = [",", " ", " ", ",", " ", " ", ":", " "];
Run Code Online (Sandbox Code Playgroud)
..这应该是显而易见的...
那么如何求逆呢?我怎样才能得到想要的结果:
format_tokens = ['dddd', 'MMMM', 'D', 'YYYY', 'h', 'mm', 'A']
Run Code Online (Sandbox Code Playgroud)
?
谢谢大家!
您想要匹配字母数字字符并拆分/排除其他所有内容,对吧?哪一个会是([a-zA-Z0-9]+)
这:
'dddd, MMMM D, YYYY h:mm A'.match(/([a-zA-Z0-9]+)/g)
Run Code Online (Sandbox Code Playgroud)
返回:
["dddd", "MMMM", "D", "YYYY", "h", "mm", "A"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1385 次 |
| 最近记录: |