真无聊,整理了一个正则表达式的FAQ!

无爱大叔 2002-12-02 03:25:05
正则表达式标记:
//////////////////////////////////////////////////////
i 大小写不敏感
g 全局匹配。找出字符串中的全部匹配,不仅仅是第一个
m 多行匹配
//////////////////////////////////////////////////////
正则的常用方法:
var pattern=/http/;
var patternIgnoringCase=/http/i;

还可以用RegExp()构造器来声明:
var pattern = new RegExp("http");
var patternIgnoringCase = new RegExp("http","i");
RegExp的基本方法是test()如:
pattern.test("HTTP://www.csdn.net");//返回假
patternIgnoringCase.test("HTTP://www.csdn.net");//返回真

生成模式:
位置指示符----这样的字符有:^和$,分别指示字符串的开头和末尾
var pattern=/http&/;//匹配以http结束的字符串。
var pattern=/^http$/;//只匹配字符串"http"

转义码:
/////////////////////////////////////////////////////
\f 换页
\n 换行
\r 回车
\t 制表符
\v 垂直制表符
\/ 正斜杠
\\ 反斜杠
\. 局号"."
\* 星号"*"
\+ 加号"+"
\? 问号"?"
\| 垂直条"|"
\( 括号"("
\) 括号")"
\[ 括号"["
\] 括号"]"
\{ 括号"{"
\} 括号"}"
\000 八进制000代表的ASCII字符
\xHH 十六进制值HH代表的ASCII字符
\uHHHH 十六进制HHHH代表的统一代码(Unicode)字符
\cX 由^X代表的控制字符,比如\cH代表Ctrl-H
/////////////////////////////////////////////////////
例:var pattern=/http:\/\/www\.csdn\.net\//; //匹配整个http://www.csdn.net

正则表达式的重复字符:
/////////////////////////////////////////////////////
* 匹配前面的项目0或者更多次
+ 匹配前面的项目1或者更多次
? 匹配前面的项目0或者1次
{m,n} 匹配前面的项目最少m次,但不超过n次
{m,} 匹配前面的项目m次或者更多次
{m} 匹配前面的项目m或者更多次
/////////////////////////////////////////////////////
例:var pattern=/ab{3,}c/; //匹配一个a,3个或更多b,一个c

正则表达式的字符类:
/////////////////////////////////////////////////////
[chars] 方括号内指明范围的字符 pattern=/[a-z]/;
[^chars] 同上相反
. 除换行符以外的任何字符
\w 任何单字字符,如:[a-zA-Z0-9_]
\W 如:[^a-zA-Z0-9_]
\s 任何空格字符,如:[\t\n\r\f\v]
\S 如:[^\t\n\r\f\v]
\d 任何数字,如:[0-9]
\D 如:[^0-9]
\b 任何单字分界,在\w和\W之间的空格
\B 任何非单字分界,在单字字符之间的“空格“
[\b] 任何退格字符
/////////////////////////////////////////////////////
...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqi8 2002-12-05
  • 打赏
  • 举报
回复
up
Go_Rush 2002-12-03
  • 打赏
  • 举报
回复
支持,鼓励
wgrabob1 2002-12-03
  • 打赏
  • 举报
回复
有意思
wangxj0600 2002-12-03
  • 打赏
  • 举报
回复
|,exec()
wangxj0600 2002-12-03
  • 打赏
  • 举报
回复
up
colee 2002-12-02
  • 打赏
  • 举报
回复
????
kaney00 2002-12-02
  • 打赏
  • 举报
回复
upupup
pyz8000 2002-12-02
  • 打赏
  • 举报
回复
我顶~~~~
全息宇宙 2002-12-02
  • 打赏
  • 举报
回复
up有分
无爱大叔 2002-12-02
  • 打赏
  • 举报
回复
还有一部分内容,过两天在贴出来。真累!

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧