gpt4 book ai didi

javascript - 匹配正则表达式,处理数字和字母

转载 作者:行者123 更新时间:2023-12-01 03:54:50 26 4
gpt4 key购买 nike

所以我正在使用javascript,我需要使用正则表达式来匹配一些数字和字母混合的数据,但由于我目前正在学习正则表达式,所以这个任务对我来说太复杂了,无法理解并使其像我一样工作想要它,有什么想法吗?

[ABC][122/29] [13:40] [RANDOM_TEXT] [PRT] [TPT] [RANDOM] [1113B86JD] RANDOM [ABC][122/29] [13:40] [RANDOM_TEXT] [PRT] [TPT] [RANDOM] [115M3X2G9] RANDOM [ABC][122/29] [13:40] [RANDOM_TEXT] [PRT] [TPT] [RANDOM] [1113P86JD] RANDOM [ABC][122/29] [13:40] [RANDOM_TEXT] [PRT] [TPT] [RANDOM] [314PTVPNL] RANDOM [ABC][122/29] [13:40] [RANDOM_TEXT] [PRT] [TPT] [RANDOM] 114PAVPNL RANDOM

90%的时间我想要的数据是在两个括号之间,长度大于5个字符,所以我找到了两个正则表达式,其余的数据仍然是数字和字母的混合,但没有括号。

  1. [(.*?)]

用于获取括号之间的数据

  • ^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$

  • 用于获取数字和字母的混合

    现在如何将两者结合起来,我尝试了很多次让它工作,但没有成功,有人可以帮助我吗?

    最佳答案

    您需要用特殊的“复合括号”将字母和数字正则表达式(即第二个没有 ^$ anchor 的正则表达式)括起来:

    (?:^|\[|\s)((?:[0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*)(?:$|\]|\s)

    左“复合括号”可以由文本开头 (^)、左方括号 (\[) 或空格 (\s)。因此,正则表达式开头的 (?:^|\[|\s)

    右“复合括号”可以用文本结尾 ($)、右方括号 (\]) 或空格 (\s)。因此,正则表达式末尾的 (?:$|\]|\s)

    您需要的字母和数字序列位于第一个捕获组中。

    演示:https://regex101.com/r/WLwu9p/1

    请注意,我从第二个表达式中将组 ((...)) 设置为非捕获 ((?:...)),因为在这个特定的情况下仅需要大小写分组。

    关于javascript - 匹配正则表达式,处理数字和字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856495/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com