例如,如何选择该短语的句段:
49up_88x126x476mm_3mm gutters_28375x40_Ft First_Rollem_sw
在第二个和第三个“ _”之间还是在第二个和第四个之间,等等?
答案 0 :(得分:1)
不是那么容易,但这是一种方法。
基本正则表达式<input type="text" pattern="[a-zA-Z0-9]+" required>
位置
A
A = 发件人
B = 转数字-从数字-1
捕获组1包含之间内容。
例如2到4将是
A = ^(?:[^_]*_){A}([^_]*(?:_[^_]*){B})_
B = 4-2-1 = 2
正则表达式为1
输出
^(?:[^_]*_){2}([^_]*(?:_[^_]*){1})_
可读正则表达式
** Grp 0 - ( pos 0 : len 39 )
49up_88x126x476mm_3mm gutters_28375x40_
** Grp 1 - ( pos 18 : len 20 )
3mm gutters_28375x40
答案 1 :(得分:1)
这可以不用正则表达式来完成。
只需在下划线处分开。
然后从结果数组中获取所需的元素。
并将您想要的元素重新组合在一起。
JavaScript示例:
var str = '49up_88x126x476mm_3mm gutters_28375x40_Ft First_Rollem_sw';
console.log(str);
var arr = str.split('_');
var str_2_3 = arr.slice(2-1,3).join('_'); //2-1, because index starts at 0
console.log(str_2_3);
var str_2_4 = arr.slice(2-1,4).join('_');
console.log(str_2_4);