仅匹配字母前数字的正则表达式配置问题求助
匹配字母相邻数字的正则解决方案
看起来你需要匹配和字母相邻的数字,结合你提到的“仅匹配字母前数字”,我分两种常见场景给你对应的正则表达式,你可以根据实际需求选择:
场景1:匹配紧跟在字母前面的数字(数字后直接跟字母,比如 123abc 里的 123)
如果你要找的是数字后面紧接着字母的情况,正则表达式如下:
\d+(?=[A-Za-z])
规则解释:
\d+:匹配1个或多个连续的数字(?=[A-Za-z]):正向零宽断言,确保匹配的数字后面紧跟一个大小写字母(不会把字母包含在匹配结果里)
场景2:匹配紧跟在字母后面的数字(数字前直接跟字母,比如 abc123 里的 123)
看你提供的示例文本里,IJK128、LMN111、SSLv1.0 这些都是字母后接数字的情况,如果你实际是想找这类数字,对应的正则是:
(?<=[A-Za-z])\d+
规则解释:
(?<=[A-Za-z]):反向零宽断言,确保匹配的数字前面紧跟一个大小写字母(不会把字母包含在匹配结果里)\d+:匹配1个或多个连续的数字
针对你示例文本的测试结果
用场景2的正则测试你的内容,会匹配到以下结果:
1(来自SSLv1.0)128(来自IJK128)111(来自LMN111)1(来自/t1)
如果需要调整匹配规则(比如支持带小数点的数字、处理下划线分隔的情况),可以补充更多细节哦!
内容的提问来源于stack exchange,提问作者Vanz
相关产品推荐
相关产品推荐

