正则表达式学习

Posted 黯雅悸动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式学习相关的知识,希望对你有一定的参考价值。

(1)\\b:元字符,代表着单词的开头或结尾   (\\bhi\\b)


(2),.是另一个元字符,匹配除了换行符以外的任意字符(\\bhi\\b.*\\bhob\\b)  这个时候的*代表数量


(3)\\d是个新的元字符,匹配一位数字(0\\d\\d\\d-\\d\\d\\d\\d\\d或0\\d2-\\d5)重复次数


(4)\\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。


(5)\\w匹配字母或数字或下划线或汉字等(\\ba\\w*\\b)


(6)\\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次,?重复零次或一次()


(7)元字符^匹配字符串的开始和$都匹配字符串的结束(^\\d5,12$)


(8)想查找元字符本身的话,用转义符\\(\\*\\.\\,\\\\)


(9)[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)


(10)[0-9]代表的含意与\\d就是完全一致,同理[a-z0-9A-Z_]也完全等同于\\w


(11)分枝条件‘|’,意思就是或。(例:0\\d2-\\d8|0\\d3-\\d7  \\(0\\d2\\)[- ]?\\d8|0\\d2[- ]?\\d8)


(12)分组'()':表示整体(例子:((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.)3(2[0-4]\\d|25[0-5]|[01]?\\d\\d?))


(13)反义:
\\W:匹配任意不是字母,数字,下划线,汉字的字符
\\S:匹配任意不是空白符的字符
\\D:匹配任意非数字的字符
\\B:匹配不是单词开头或结束的位置
[^x]:匹配除了x以外的任意字符

[^aeiou]:匹配除了aeiou这几个字母以外的任意字符


(14)后向引用用于重复搜索前面某个分组匹配的文本(\\b(\\w+)\\b\\s+\\1\\b:(\\b(\\w+)\\b),这个单词会被捕获到编号为1的分组中,最后那个\\1重新又匹配一次)


(15)负向零宽断言;\\b\\w*q(?!u)\\w*\\b


(16)小括号的另一种用途是通过语法(?#comment)来包含注释。例如:2[0-4]\\d(?#200-249)|25[0-5](?#250-255)|[01]?\\d\\d?(?#0-199)。


(17)贪婪匹配:a.*b搜索到aabab,懒惰匹配:a.*?b搜索到aab



以上是关于正则表达式学习的主要内容,如果未能解决你的问题,请参考以下文章

不以元音开头或结尾的单词的正则表达式?

在Oracle中检测双元音的正则表达式[重复]

Javascript 正则表达式替换必须保留德语变异元音

通过相等数量的元音和辅音进行正则表达式验证[关闭]

正则表达式:字符串中重复相同的元音 - Oracle SQL

使用 Oracle 的正则表达式功能来查找双元音序列,例如。 ‘ie’, ‘ee’, ‘oa’