正则匹配-后面的字符串
带-取中划线后面的,不带取当前
dingdan-danhao => danhao
dingdan => dingdan
let str = dingdan-danhao
回答:
str.match(/\w+$/)[0]
-刚好是不属于\w的字符。如果单词是空格或者其他不属于\w的字符分隔但仍然要匹配的话那就换成:str.match(/[^-]+$/)[0]
回答:
大概明白了意思,优先取-后的值,不满足则取当前字符串。
看使用场景,如果a-b-c...,取最后-后的值的场景下,
1.分割方法,简单明了,按照分割符分割后,取最后一个有效值。字符串.split("-").pop()
2.正则, 通过替换的方式,其中\w
根据具体情况去调整。字符串.replace(/\w+-/g,"")
回答:
这个正则就能匹配啊 /(?!.*-).+/
回答:
非正则写法
function cb(string = ''){ const arr = string.split('-')
return arr[1] || arr[0]
}
let str = 'dingdan-danhao'
cb(str) // 'danhao'
let str = 'dingdan-danhao'str = str.split('-')[1] || str // 'danhao'
回答:
str = str.replace(/\w+-/g, '')
回答:
const str = "dingdan-danhao";const match = /-([^\-]+)/.exec(str) ?? [];
const result = match[1] ?? str;
console.dir(result);
以上是 正则匹配-后面的字符串 的全部内容, 来源链接: utcz.com/p/936822.html