如何正确识别这些字段(分配在 javascript 变量中)?

用户14756410

我必须在这些字段的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章