Java中的正则是什么意思?求解

Python016

Java中的正则是什么意思?求解,第1张

正则是,一种字符串处理表达式,可进行文本的查找,替换,判断某个文本是否存在,子文本串的提取等操作,正则表达式的书写必须满足一定规则。

此处我指出一点,初学者,容易犯错的地方:

*?与*的区别,专业术语叫贪婪匹配与非贪婪匹配,通俗解释:如果我们要匹配一个html标记:

<div><a href="http://zhidao.baidu.com" target="123">知道</a><a href="http://www.qq.com" target="123">腾讯</a></div>

<a.*?>.*?</a>能匹配上每一个<a></a>标签对,而:<a.*?>.*</a>匹配上的是<a href="http://zhidao.baidu.com" target="123">知道</a><a href="http://www.qq.com" target="123">腾讯</a>

总结所谓贪婪中间有多长不管,一直给匹配到最后一个适合的文本串。非贪婪只匹配到第一个找到的模式结束。

除了贪婪与非贪婪网上很难找到资料,术语很难理解。其他的很容易学会。

正则表达式是处理大文本效率极佳的一种工具。它的实现不单单是java,有javascript,unix文本处理命令(代表C语言有实现库),swift等流行语言,windows下的文本编辑器(如editplus,notepad++)。正则表达式,本段列举出来的语言工具基本上能完全支持。

总之正则表达式是一种很有用的工具,希望你能学好。

java正则表达式是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。

和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

正则表达式的基本操作:

正则表达式定义:符合一定规则的表达式。

作用:用于专门操作字符串。

特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。

好处:可以简化对字符串的复杂操作。

弊端:符号定义越多,正则越长,阅读性越差。