我必须在这些字段的 javascript 中进行解析:
这些字段是从服务器返回的,格式是固定的,唯一改变的是 [] 内返回的值,但格式是固定的并且始终相同
var var_js=
(02,02) AAAA #33 [00000122] Last Uo
(08,00) DF #2[1111.888.88] UI AS
(010,23) SD #1 [3^w^^r] YOu an
我正在为第一个字段尝试此操作,但控制台返回“false”和“null”。
var patt= /^(d{2},d{2})\s\w{4}\s\#d{2}\s\[d{8}]\s\Last Uo$/gm;
logger.debug(var_js.match(patt));
logger.debug(patt.test(var_js));
谁能弄清楚我做错了什么?
如果你想匹配所有 3 个字符串,你可以使用
^\(\d{2,3},\d{2}\)\s+[A-Z]{2,4}\s#\d+\s*\[[^\][]*\]\s+\w+\s+\w+$
该模式将匹配:
^
字符串的开始\(\d{2,3},\d{2,}\)
匹配(
,然后是 2-3 位数字、一个逗号、2 位数字和)
\s+[A-Z]{2,4}
匹配 1+ 个空白字符和 2-4 次大写字符 AZ\s#
匹配单个空格字符和 #
\d+\s*
匹配 1+ 个数字和可选的空白字符\[[^\][]*\]
[....]
使用否定字符类进行匹配\s+\w+\s+\w+
匹配 2 次 1+ 空白字符和 1+ 单词字符$
字符串结束var var_js = `(02,02) AAAA #33 [00000122] Last Uo
(08,00) DF #2[1111.888.88] UI AS
(010,23) SD #1 [3^w^^r] YOu an`;
var patt = /^\(\d{2,3},\d{2}\)\s+[A-Z]{2,4}\s#\d+\s*\[[^\][]*\]\s+\w+\s+\w+/gm;
var_js.match(patt).forEach(m => console.log(m));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句