js - 正则

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div {
			padding-left: 2em;
		}
	</style>
</head>
<body>
	<h1>正则</h1>
	<div>
		<h2>正则的两种表达形式</h2>
		<p>var reg = /a/g</p>
		<p>var reg = new RegExp('a', 'g')</p>
	</div>

	<div>
		<h2>正则表达式对象的方法</h2>

		<div>
			<h3>判断是否匹配a</h3>
			<p title='true'>/a/.test('ab')</p>
		</div>

		<div>
			<h3>匹配并以数组形式返回匹配到的第一个a及其对应的索引值与匹配对象, 没有则返回null</h3>
			<p title='["a"]'>/a/g.exec('xaa')</p>
		</div>
	</div>

	<div>
		<h2>与正则相关的字符串方法</h2>

		<div>
			<h3>千分符</h3>
			<p title='1,234.1234'>'1234.1234'.replace(/(\d)(?=(\d{3})+\.)/g, '$1,')</p>
		</div>

		<div>
			<h3>匹配a与b之间, 包括a与b, 以数组形式返回匹配到的内容</h3>
			<p title='["axb"]'>'xaxbx'.match(/a(.+?)b/g)</p>
		</div>
	</div>

	<div>
		<h2>匹配范围</h2>
		<p></p>
		<div>
			<h3>全文查找 /g</h3>
			<p title='["a", "a"]'>'aba'.match(/a/g)</p>
			<p title='["a"]'>'aba'.match(/a/)</p>
		</div>

		<div>
			<h3>不分大小写 /i</h3>
			<p title='["A", "a"]'>'Aa'.match(/a/gi)</p>
			<p title='["a"]'>'Aa'.match(/a/g)</p>
		</div>

		<div>
			<h3>换行查找 /m</h3>
			<p title='ad> cd>'>'ab\ncd'.replace(/(\w$)/gm, '$1>')</p>
			<p title='ab cd>'>'ab\ncd'.replace(/(\w$)/g, '$1>')</p>
		</div>
	</div>

	<div>
		<h2>集合 []</h2>
		<p>/[ab]/g 或 /a|b/g, 匹配a和b</p>
		<p>/ab/g, 匹配ab</p>
		<p>/[^a]/g, 匹配非a</p>
	</div>

	<div>
		<h2>分组 ()</h2>
		<p title='["a", "a"]'>'a'.match(/(a)/)</p>
		<p title='["a"]'>'a'.match(/(?:a)/)</p>
	</div>

	<div>
		<h2>反向引用</h2>
		<p title='a,b'>'ab'.replace(/(a)/, '$1,')</p>
	</div>

	<div>
		<h2>预定义类</h2>
		<p>\n, 换行</p>
		<p>\r, 回车</p>
		<p>\t, 制表</p>
		<p>\f, Tab</p>

		<p>\d, [0-9]</p>
		<p>\D, [^0-9]</p>
		<p>\s, 空白字符[ \n\r\t\f\x0B]</p>
		<p>\S, 非空白字符</p>
		<p>\w, 字母下划线</p>
		<p>\W, 非字母下划线</p>
	</div>

	<div>
		<h2>量词</h2>
		<p>{n}, 匹配确定的n次</p>
		<p>{n, m}, 匹配n到m次</p>
		<p>* 或 {0, }, 匹配任意次</p>
		<p>+ 或 {1, }, 匹配至少一次</p>
		<p>? 或 {0, 1}, 匹配最多一次</p>

		<div>
			<h3>量词加?</h3>
			<p>遇到匹配的就停止</p>
			<p title='aa'>'aaa'.match(/aa+?/)</p>
			<p title='aaa'>'aaa'.match(/aa+/)</p>
		</div>
	</div>

	<div>
		<h2>相关资料</h2>
		<p>http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html</p>
	</div>
	<script>
		console.log('ab'.replace(/(a)/, '$1,'));
	</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/NaShiShiWo/article/details/88422324