如何用正则表达式拆分含指定字符串、数字及单个字符的文本
正则表达式实现字符串按指定规则拆分
我想用正则表达式将字符串拆分为特定片段,预期效果如下:
输入: "3.0catsdogs}qd7cats8.0dogs" // 指定匹配字符串: "cats", "dogs" 输出数组: ["3.0","cats","dogs","}","q","d","7","cats","8.0","dogs"]
拆分规则:数组中的每个元素需匹配指定字符串、数字(整数或浮点数),若均不满足则拆分为单个字符。
我知道可以用if条件和for循环实现,但过程繁琐。无法找到合适的正则表达式来整合这些条件,尤其是在不满足前两种情况时拆分为单个字符的逻辑。希望用少量代码实现,避免冗余的条件与循环。
我曾设想先拆分数字与非数字部分,再通过while循环和if条件检查非数字部分是否包含指定字符串,逐步拆分,但这种方式非常不理想,过程示例如下:
输入: "3.0catsdogs}qd7cats8.0dogs" // 指定匹配字符串: "cats", "dogs" 正则初步拆分结果: ["3.0","catsdogs}qd","7","cats","8.0","dogs"] // 迭代1输入为上述正则结果 循环迭代1: ["3.0","cats","dogs}qd","7","cats","8.0","dogs"] 循环迭代2: ["3.0","cats","dogs","}qd","7","cats","8.0","dogs"] 循环迭代3: ["3.0","cats","dogs","}","qd","7","cats","8.0","dogs"] 循环迭代4: ["3.0","cats","dogs","}","q","d","7","cats","8.0","dogs"] 循环迭代5: 无更多可拆分内容,结束
内容的提问来源于stack exchange,提问作者DillyWIlly
相关产品推荐
相关产品推荐

