正则表达式
来源:互联网 发布:苹果数据接口转usb 编辑:程序博客网 时间:2024/06/03 15:45
关于正则,常用的一些元字符可以见:百度百科–正则表达式
我在这里仅列举一些容易忘记的概念。
- | 将两个匹配条件进行逻辑“或”(Or)运算。
- ^ 匹配输入字符串的开始位置。
- [a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
- [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
- \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配\n。“\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。
下面举个例子:
new RegExp("(^| )"+name+"=([^;]*)(;|$)")
上面这个正则中:
(^| ) 匹配开头和空格
[^;] 匹配除了;之外的其它字符
(;|$) 匹配; 和结尾
这个正则是用于cookie中。cookie的保存方式:name=value,有多个cookie时用分号空格隔开: cookieaa=aaaa; cookiebb=bbbb
如果name值为cookieaa,完整的正则为(^| )cookieaa=([^;]*)(;|$)
匹配结果:cookieaa=aaaa;
上面^出现了两次,分别是不同的意思。
1、匹配开头
2、表示否定
那么到底有什么规律呢?
第一种情况:限定开头
/[(^\s+)(\s+$)]/g(^cat)$(^cat$)^(cat)$^(cat$)
第二种情况:表示字符类的否定。
[^a]表示“匹配除了a的任意字符”。[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。[\^abc]表示“找到一个插入符或者a或者b或者c”。[^\^]表示“找到除了插入符外的任意字符”。(呕!)
总结如下:
只要是”^”这个字符是在中括号”[]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。
我这里说的是直接在”[]”中使用,不包括嵌套使用。
也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- SpringData查询过程解析
- BZOJ 2565: 最长双回文串 manacher
- 将集合中的学生信息按照学生的年龄升序排列
- web开发工具
- Abp项目InternalServerError,SimpleStringCipher.Decrypt()找不到
- 正则表达式
- C++多态
- IE浏览器下AJAX缓存问题导致数据不更新的解决办法
- android webview无法上传文件的解决方案
- 详解LAMP源码编译安装
- Python定时任务的实现方式
- AVL树的基本操作 C++
- HDU-6040 Hints of sd0061
- error C2146: 语法错误: 缺少“)”(在标识符“,dtpSelected”的前面) 之中英文输入法的重要性