希望使用javascript/regex修剪字符串
在尝试格式化文本字符串时,我正在寻找JavaScript/Regex方面的帮助。 我有以下身份证:希望使用javascript/regex修剪字符串,javascript,regex,Javascript,Regex,在尝试格式化文本字符串时,我正在寻找JavaScript/Regex方面的帮助。 我有以下身份证: 00A1234/A12 0A1234/A12 A1234/A12 000A1234/A12 我正在寻找一种方法,可以将所有这些内容精简到1234/A12。本质上,它应该找到左边的第一个字母,并删除它和前面的任何数字,这样最终的格式应该是0000/A00或0000/AA00 有没有一种通过Javascript实现的有效方法?我现在正在看正则表达式。你可以搜索前导数字和后面的字母 var数据=['
00A1234/A12
0A1234/A12
A1234/A12
000A1234/A12
我正在寻找一种方法,可以将所有这些内容精简到1234/A12
。本质上,它应该找到左边的第一个字母,并删除它和前面的任何数字,这样最终的格式应该是0000/A00
或0000/AA00
有没有一种通过Javascript实现的有效方法?我现在正在看正则表达式。你可以搜索前导数字和后面的字母
var数据=['00A1234/A12','0A1234/A12','A1234/A12','000A1234/A12'],
regex=/^\d*[a-z]/gi;
data.forEach(s=>console.log(s.replace(regex.))代码>您可以搜索前导数字和后面的字母
var数据=['00A1234/A12','0A1234/A12','A1234/A12','000A1234/A12'],
regex=/^\d*[a-z]/gi;
data.forEach(s=>console.log(s.replace(regex.))代码>像这样的正则表达式将捕获您所有的示例,并为您感兴趣的位创建一个编号的捕获组
[0-9]*[A-Z]([0-9]{4}/[A-Z]{1,2}[0-9]{2})
var输入=[“00A1234/A12”、“0A1234/A12”、“A1234/A12”、“000A1234/A12”];
var re=newregexp(“[0-9]*[A-Z]([0-9]{4}/[A-Z]{1,2}[0-9]{2}”);
input.forEach(函数(x){
console.log(re.exec(x)[1])
});代码>像这样的正则表达式将捕获您所有的示例,并为您感兴趣的位创建一个编号的捕获组
[0-9]*[A-Z]([0-9]{4}/[A-Z]{1,2}[0-9]{2})
var输入=[“00A1234/A12”、“0A1234/A12”、“A1234/A12”、“000A1234/A12”];
var re=newregexp(“[0-9]*[A-Z]([0-9]{4}/[A-Z]{1,2}[0-9]{2}”);
input.forEach(函数(x){
console.log(re.exec(x)[1])
});代码>您可以使用此功能。使用regex查找第一个字母,然后在该索引后创建一个子字符串
function getCode(s){
var firstChar = s.match('[a-zA-Z]');
return s.substr(s.indexOf(firstChar)+1)
}
getCode("00A1234/A12");
getCode("0A1234/A12");
getCode("A1234/A12");
getCode("000A1234/A12");
你可以使用这个功能。使用regex查找第一个字母,然后在该索引后创建一个子字符串
function getCode(s){
var firstChar = s.match('[a-zA-Z]');
return s.substr(s.indexOf(firstChar)+1)
}
getCode("00A1234/A12");
getCode("0A1234/A12");
getCode("A1234/A12");
getCode("000A1234/A12");
与其专注于你想要的脱衣,不如关注你想要的:
/\d{4}\/[A-Z]{1,2}\d{2}/
var str='fdfhjkqhfjazea0123/a45ghjqfhdlh';
match=str.match(/\d{4}\/[A-Z]{1,2}\d{2}/);
if(匹配)console.log(匹配[0])代码>不要把重点放在你想脱衣的东西上,而是看你想得到什么:
/\d{4}\/[A-Z]{1,2}\d{2}/
var str='fdfhjkqhfjazea0123/a45ghjqfhdlh';
match=str.match(/\d{4}\/[A-Z]{1,2}\d{2}/);
if(匹配)console.log(匹配[0])代码>尝试在这样的站点上构建正则表达式。str.match(/\d{4}\/[a-Z]{1,2}\d{2}/)
?是否有一种有效的方法
定义“高效”。尝试在这样的站点上构建正则表达式。str.match(/\d{4}\/[a-Z]{1,2}\d{2}/)
?是否有一种有效的方法
定义“高效”。更通用的/\a-Z.]/g
更通用的/^\d*[A-Z]/g
非常适合trincot,谢谢。非常适合trincot,谢谢。