当前位置:三九宝宝网 → 宝宝百科 → 宝宝知识 → 正文

正则表达式怎么学啊

更新:01-08 整理:39baobao.com
字体:

[怎么学英语的音标]第一步:精确掌握英语音标 学习英语,首先要掌握发音。纯正、标准的英语音标发音是构建学好英语大厦的地基,这个地基打不好,将贻害无穷,导致听力、口语久久不能过关。 在对外交往中...+阅读

众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。

正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。 \\ 反斜杠 \t 间隔 ('\u0009') \n 换行 ('\u000A') \r 回车 ('\u000D') \d 数字 等价于[0-9] \D 非数字 等价于[^0-9] \s 空白符号 [\t\n\x0B\f\r] \S 非空白符号 [^\t\n\x0B\f\r] \w 单独字符 [a-zA-Z_0-9] \W 非单独字符 [^a-zA-Z_0-9] \f 换页符 \e Escape \b 一个单词的边界 \B 一个非单词的边界 \G 前一个匹配的结束 ^为限制开头 ^java 条件限制为以Java为开头字符 $为限制结尾 java$ 条件限制为以java为结尾字符 . 条件限制除\n以外任意一个单独字符 java.. 条件限制为java后除换行外任意两个字符 加入特定限制条件「[]」 [a-z] 条件限制在小写a to z范围中一个字符 [A-Z] 条件限制在大写A to Z范围中一个字符 [a-zA-Z] 条件限制在小写a to z或大写A to Z范围中一个字符 [0-9] 条件限制在小写0 to 9范围中一个字符 [0-9a-z] 条件限制在小写0 to 9或a to z范围中一个字符 [0-9[a-z]] 条件限制在小写0 to 9或a to z范围中一个字符(交集) []中加入^后加再次限制条件「[^]」 [^a-z] 条件限制在非小写a to z范围中一个字符 [^A-Z] 条件限制在非大写A to Z范围中一个字符 [^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符 [^0-9] 条件限制在非小写0 to 9范围中一个字符 [^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符 [^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集) 在限制条件为特定字符出现0次以上时,可以使用「*」 J* 0个以上J .* 0个以上任意字符 J.*D J与D之间0个以上任意字符 在限制条件为特定字符出现1次以上时,可以使用「+」 J+ 1个以上J .+ 1个以上任意字符 J.+D J与D之间1个以上任意字符 在限制条件为特定字符出现有0或1次以上时,可以使用「?」 JA? J或者JA出现 限制为连续出现指定次数字符「{a}」 J{2} JJ J{3} JJJ 文字a个以上,并且「{a,}」 J{3,} JJJ,JJJJ,JJJJJ,???(3次以上J并存) 文字个以上,b个以下「{a,b}」 J{3,5} JJJ或JJJJ或JJJJJ 两者取一「|」 J|A J或A Java|Hello Java或Hello 「()」中规定一个组合类型 比如,我查询index中间的数据,可写作(.+?)在使用Pattern.compile函数时,可以加入控制正则表达式的匹配行为的参数: Pattern Pattern.compile(String regex, int flag) flag的取值范围如下: Pattern.CANON_EQ 当且仅当两个字符的"正规分解(canonical decomposition)"都完全相同的情况下,才认定匹配。

比如用了这个标志之后,表达式"a\u030A"会匹配"?"。默认情况下,不考虑"规范相等性(canonical equivalence)"。 Pattern.CASE_INSENSITIVE(?i) 默认情况下,大小写不明感的匹配只适用于US-ASCII字符集。这个标志能让表达式忽略大小写进行匹配。要想对Unicode字符进行大小不明感的匹配,只要将UNICODE_CASE与这个标志合起来就行了。 Pattern.COMMENTS(?x) 在这种模式下,匹配时会忽略(正则表达式里的)空格字符(译者注:不是指表达式里的"\\s",而是指表达式里的空格,tab,回车之类)。

注释从#开始,一直到这行结束。可以通过嵌入式的标志来启用Unix行模式。 Pattern.DOTALL(?s) 在这种模式下,表达式'.'可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式'.'不匹配行的结束符。 Pattern.MULTILINE (?m) 在这种模式下,'^'和'$'分别匹配一行的开始和结束。此外,'^'仍然匹配字符串的开始,'$'也匹配字符串的结束。默认情况下,这两个表达式仅仅匹配字符串的开始和结束。

Pattern.UNICODE_CASE (?u) 在这个模式下,如果你还启用了CASE_INSENSITIVE标志,那么它会对Unicode字符进行大小写不明感的匹配。默认情况下,大小写不敏感的匹配只适用于US-ASCII字符集。 Pattern.UNIX_LINES(?d) 在这个模式下,只有'\n'才被认作一行的中止,并且与'.','^',以及'$'进行匹配。 Java正则的功用还有很多,事实上只要是字符处理,就没有正则做不到的事情存在。

(当然,正则解释时较耗时间就是了|||……)

本文地址:https://www.39baobao.com/show/39_145798.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

自学英语音标发音怎么学个人见解:音标如果读不准或不会读,就无法正确的单词发音。除非有人口对口的叫你单词的发音。所以,音标是自学英语的第一步。建议:学习音标时联系简单单词进行,比如:学习book这个单...

会计初级怎么学1、会计职称每年的合格率初级30%中级20%,初级职称考试稍微有点难度,只要努力,学习方法得当,应该好考得,分会计事务、经济法。事务方面,认真看书,吃透教材,学会总计和归纳,书就会越看...

老板怎么学会宽容一个老板或者用人者,当你的经营出现困难时,你首先想到的会是让员工宽容你,想尽一切 办法做工作让员工与你同舟共济,克服困难,那么,在平时的工作中你宽容过员工的过错吗?这 些是在你...

怎么学习荷兰语荷兰语学习拼写相对于很多其他语言来说是相当简单的,因为它有很多基本规则。同样,学荷兰语的一般动词的词形变化也是有很多规则的。一旦你知道这些词形变化规则,你就可以变化所...

初学二十四式太极拳怎么学你好,在我大学的时候学过简化24式太极拳,通过学习对太极产生了兴趣。 简化太极拳的招式比较简单,当时学得也比较浅,大学体育老师教我们之前自己也是突击恶补的水平。练了一个学...

24式简化太极拳怎么学中学生也是人,二十四式太极拳也是太极拳。中学生学好二十四式太极拳都要遵循基本的人学习太极拳的规则。这个基本的规则就是好老师真教,你真练。没有好老师,不要想能学好。你不...

怎么学美式英语比较好?????????1。时刻不能放松看美国原版电影,而且要保持更新,因为这些东西很可能是美国人现在日常生活中经常说的话。 2。坚持每天必听voa。这里建议听voa的正常语速,因为只有这样你才能感...

怎么学习电子电路对于业余爱好者,学电子技术最实际是从分立元件的AM收音机开始,其原因有: 1、电路种类齐全: 别小看一台古老的调幅收音机,那里头有无线电波接收、可变调谐、高频振荡、超外差变频...

NET到底该怎么学.NET的学习方法,针对不同应用领域,不尽相同。 看你的言词,应该是ASP.NET,对于WEB开发领域,要学习的基础内容有控件库(包括AJAX),以及框架设计,数据访问设计,还有架构设计,缓存设计,分层...