正则表达式以什么结尾

JavaScript021

正则表达式以什么结尾,第1张

$匹配输入字符串的结束位置。

如果正则只有精确匹配是没多大意义的,比如/hello/,也只能匹配字符串中的hello这个子串,正则表达式之所以强大,是因为其能实现模糊匹配,而模糊匹配,有两个方向上的模糊,横向模糊和纵向模糊。

横向模糊是一个正则可匹配的字符串的长度不是固定的,可以是多种情况的,其实现的方式是使用量词。譬如{m,n},表示连续出现最少m次,最多n次。比如/ab{2,5}c/表示匹配这样一个字符串,第一个字符是a,接下来是2到5个字符b,最后是字符c。

扩展资料:

注意事项:

在正则表达式中()里面的表达式,这些括号中的表达式匹配到的元素,会被捕获到内存中,就是上面preg_match和preg_match匹配的数组中除第一个以外的数组部分。

如果正则表达式中有子表达式,则正则表达式使用单引号括起来。

在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说该匹配不需要获取供以后使用。例如Windows (?!95|98|NT|2000)能匹配 Windows 3.1中的 Windows,但不能匹配 Windows 2000"中的 Windows。

参考资料来源:百度百科-正则表达式

按照你的要求,js正则表达式为 /^[0-9A-Za-z\-]+\$/g

我给你个结尾不是分号的javascript程序的例子,你看看吧

<html>

<head>

<script type=text/javascript>

 var str='12345Aa-67890Bba'

 var regex=/^[0-9A-Za-z\-]+\$/g

 var a=regex.test(str)

 alert(a)

</script>

</head>

<body>

</body>

</html>

运行结果

false

// 正则

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)