以下是对正则表达式中经常使用的符号的说明:
1. 符号意义:出现在某字符后面
+ :字符出现>=1次
* :字符可以出现>=0次
? :字符出现0或者1次
2. 特殊字符:表达特殊意义
| : 在两项中选择一项
$ :字符串的结尾
() :子表达式的开始和结束
. :除了换行符之外的任何单个字符
^ :开始位置
3. 限定符:出现多少次满足匹配
{n} :出现n次
{n,} :至少n次
{n,m} :n到m次
4. 定位符:
\b :匹配字边界(字后面是空格)
\B :匹配非字边界
5. 表达式:
x|y :匹配x或者y
[xyz] :匹配xyz中的任意字符
[^xyz]:匹配除了xyz中的其他字符
[a-z]:字符范围为a-z的小写字母
[^a-z]:不在a-z中的字符
(abc):匹配abc
6. 数字单词等:
\d 数字字符=[0-9]
\D 非数字字符=[^0-9]
\s 空白字符
\S 非空白字符
\w 任何单词字符=[a-zA-Z0-9]
\W 非单词字符
\num 正整数
例题:如何将字符串中的url链接改为a标签可点击的链接?
//匹配url的正则表达式,加g可以保证所有的Url都可以被替换,而不只是匹配第一个url进行替换
var httpReg = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
//字符串
var str = '点百度 http://www.baidu.com 点谷歌 http://www.google.com'
//转换后字符串
var transferStr = str.replace(httpReg, function(a,b,c){
return '<a href="'+a+'">'+a+'</a>'})
//添加
document.getElementById('url').innerHTML=transferStr
<p id='url'></p>
效果图: