什么情况下用,那就看自己的需求。一般来说,正则中的^表示开头,$表示结束。
这两个都是零宽度字符(其实不是字符,只是位置,类似的还有\A,\Z,\B,\b)。
^\d匹配字符串开头位置的一位数字。
\d$匹配字符串结尾位置的一位数字。
/^\d/ 匹配以数字开始的字符串,如:123acb;
/\d$/ 匹配以数字结尾的字符串,如:abc123;
/^\d$/ 匹配从开始到结束都是数字的字符串,如:123456。
我看了一下你要替换的字符串的规律,都是以Sele和下横线开头,紧接一串数字,最后以@号结尾。根据这个规律,我写了以下正则表达式,已调试成功:
var reg = /Sele_\d+@/g // 给变量reg赋值正则表达式a = a.replace(reg, "")
// 代码解析:
// 正则表达式用两个/号装起来
// 其中\d表示数字
// 后面跟着+号表示匹配1个或多个数字
// 最后的字母g表示global(全局匹配),如果没有字母g则只匹配第一个……
希望能帮到你。
// 正则var str = '111_abc_222'
var match = str.match(/(^\d+)|(\d+$)/g)
var num1 = match[0]
var num2 = match[1]
alert(num1)
alert(num2)
// 不用非要正则吧
var str = '111_abc_222'
var arr = str.split('_')
var num1 = arr[0]
var num2 = arr[arr.length - 1]
alert(num1)
alert(num2)