如何在JavaScript中提取符号前后的数字?
提取分隔符前后数字的简便方案
不用写复杂的for循环,用正则表达式就能轻松搞定——它专门用来处理这类字符串匹配问题,逻辑清晰且代码简洁。
核心思路
- 先明确你需要处理的3-4种分隔符(比如
@、#、$、%),把它们放进正则的字符集里 - 用
(\d+)匹配分隔符前后的连续数字(\d表示单个数字,+表示匹配1个或多个连续数字) - 通过正则的分组捕获功能,直接提取前后的数字内容
代码示例(Python)
import re # 你的目标字符串 target_str = "ajdje782@29sjdjn" # 定义要匹配的分隔符,根据实际需求调整 allowed_delimiters = r'[@#$%]' # 构建正则模式:捕获分隔符前的数字、分隔符、分隔符后的数字 pattern = re.compile(r'(\d+)' + allowed_delimiters + r'(\d+)') # 查找第一个匹配的结果 match_result = pattern.search(target_str) if match_result: # 提取分组内容,需要整数的话直接用int()包裹即可 num_before = match_result.group(1) num_after = match_result.group(2) print(f"分隔符前的数字:{num_before}") print(f"分隔符后的数字:{num_after}")
扩展说明
- 如果字符串里有多组分隔符+数字的组合,把
search换成findall,会返回所有匹配的数字对列表 - 分隔符集合可以按需修改,比如要加入
&就改成[@#$%&] - 正则会自动忽略数字前后的字母,不用额外编写判断逻辑
内容的提问来源于stack exchange,提问作者noobie123
相关产品推荐
相关产品推荐

