需要写一个正则表达是,匹配字母+数字组合,但要排除 在左括号前面的连续的字母+数字组合这种情况,如
ABS34(ERSG325))EAD5)
需要 匹配出来 ERSG325 和 EAD5,但不能匹配 ABS34 ,目前写的正则 [A-Za-z]+[0-9]+(?!() 达不到要求,有熟悉的给指点下吗?
尝试修改一个正则表达式
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
无疆76 2024-10-21 23:19关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
要匹配字母和数字的组合,但要排除在左括号前的连续字母和数字组合,你可以使用以下的正则表达式:
\b([A-Za-z]+\d+)\b(?!\([^)]*\))这个正则表达式的解释如下:
\b:表示单词的边界。([A-Za-z]+\d+):匹配一个或多个字母后面跟着一个或多个数字的组合。\b:再次表示单词的边界。确保匹配的是一个完整的单词(或组合)。(?!\([^)]*\)):是一个负向前瞻断言,确保当前匹配的内容后面不是跟着一个左括号和任何数量的非右括号字符(即确保没有匹配的内容是在括号内的)。
使用这个正则表达式应该能够匹配到
ERSG325和EAD5,但不会匹配到ABS34。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报