希望使用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数据=['

在尝试格式化文本字符串时,我正在寻找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'],
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,谢谢。