在JS的正则表达式里面^和$是在什么情况下用?

JavaScript09

在JS的正则表达式里面^和$是在什么情况下用?,第1张

什么情况下用,那就看自己的需求。一般来说,正则中的^表示开头,$表示结束。

这两个都是零宽度字符(其实不是字符,只是位置,类似的还有\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)