正则匹配-后面的字符串

正则匹配-后面的字符串

带-取中划线后面的,不带取当前
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

回到顶部