1.正则表达式:

a.定义:

正则表达式定义了字符串的模式。

正则表达式可以用来搜索、编辑或处理文本。

正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

在Java,一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。

ava.util.regex 包主要包括以下三个类:

1.Pattern类:pattern对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。

要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

2.Matcher类:Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。

你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

3.PatternSyntaxException:PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

常见的正则表达式符号合集见:https://www.cnblogs.com/xhj123/p/6032683.html

b.捕获组:

捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建,我们来看一下以下代码。

String line = "This order was placed for QT3000! OK?";     //输入

String pattern = "(\\D*)(\\d+)(.*)";            //我们的三个捕获组

由于我们有三个(),所以最后会形成三个组,根据上面的正则表达式可得知结果为:

This order was placed for QT

3000

! OK?

需要注意的是假如你使用的是Matcher对象,那group(0)将会是原string(整个string)。

在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法

验证:boolean matches(String regex)

拆分: String[] split(String regex)

替换: String replaceAll(String regex, String replacement)

c.语法:

在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。

在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。

所以,在其他的语言中(如Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\\\。

注:正则表达式的内容非常多,这里就不一一列出了,参考读物:

https://www.runoob.com/java/java-regular-expressions.html

https://www.cnblogs.com/xhj123/p/6032683.html

https://blog.csdn.net/weixin_43860260/article/details/91417485

2.Java方法:

Java是一门面对对象的语言,所以说没有函数只有方法,但是大体上函数和方法应用差不多。

a.定义:

修饰符 返回值类型 方法名(参数类型 参数名)

{

...

方法体

...

return 返回值;

}

我们来看一个实际的例子,这个方法返回两个参数最大值:

public static int max(int num1, int num2) {

int result;

if (num1 > num2)

result = num1;

else

result = num2;

return result;

}

跟函数基本上差不多,不过注意的是JAVA都是一个个对象,所以说要注意哪个方法在哪个类里。

b.Java的特性:

Java跟C++一样支持函数重载。

Java支持传递同类型的可变参数给一个方法:

printMax(34, 3, 3, 2, 56.5);

printMax(new double[]{1, 2, 3});

引用:https://www.runoob.com/java/java-methods.html

Java学习笔记(6)---正则表达式,方法的更多相关文章

  1. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  2. 【java学习笔记】正则表达式

    一.正则表达式 1.预定义字符集  . 表示任意一个字符 \d 表示任意一个数字 \w 表示任意一个单词字符(只能是数字.字母.下划线) \s 表示任意一个空白字符(\t\r\n\f\x0B) \D ...

  3. java学习笔记之正则表达式

    一般来说,正则表达式就是以某种方式来描述字符串,因此你可与说:"如果一个字符串符合有这些东西,那么它就是我正在找的东西. 1.要找一个数字,如果它可能有一个负号在最前面(可能没有,没有也是匹 ...

  4. 9.1(java学习笔记)正则表达式

    一.正则表达式 1.1正则表达式 正则表达式是描述一种规则,通过这个规则可以匹配到一类字符串. 2.1正则语法 2.1.1普通字符:字母.数字.下划线.汉字以及没有特殊意义的符号都是普通字符. 正则表 ...

  5. Java学习笔记二——正则表达式

    Java正则表达式 正则表达式的规则 “abc” 匹配字符串abc [abc] 匹配[]里任意一个字符 [a-z]: 匹配所有小写字母中的任意一个字符 [A-Z]: 匹配所有大写字母中的任意一个字符 ...

  6. Java学习笔记4(方法)

    方法和c++中的函数类似,区别在于java的方法定义不限位置,而c++中的定义在主函数后面的函数调用前要声明: 求矩形面积方法示例: public class MethodDemo{ public s ...

  7. Java学习笔记17---成员方法的重载与重写

    重载是指,一个类中定义了一个成员方法后,通过修改参数个数.参数类型或参数顺序,重新实现该方法,则这两个方法互为对方的重载方法. 重写是指,子类重新实现父类的成员方法. 重载后的方法,与原方法相比: ( ...

  8. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  9. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  10. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

随机推荐

  1. CURL命令学习一

    每天学习一点点.... 直接获取页面数据: curl http://www.xxx.com/[可以指定具体的路径获取某个文件] 用户名(密码): curl -u username http://www ...

  2. tesseract-OCR + pytesseract安装

    1. tesseract-OCR下载安装 地址:https://digi.bib.uni-mannheim.de/tesseract/ 选择一个版本下载,下载完成点击**.exe进行安装,若无其他需求 ...

  3. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

  4. Elasticsearch各版本的MSI安装包和Kibana各版本的zip包(Windows)

    elastic各产品下载列表页:https://www.elastic.co/cn/downloads/ 打开Elasticsearch的下载页后看到的是当前最新版本的安装界面,现在最新的版本是7.4 ...

  5. Git实战指南----跟着haibiscuit学Git(第十一篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  6. Linux创建Jenkins启动脚本以及开机启动服务

    1.jenkins.sh #!/bin/bash ###主要目的用于开机启动服务,不然 启动jenkins.war包没有java -jar的权限 JAVA_HOME=/usr/lib/jdk1.8.0 ...

  7. C lang:character input and output (I/O)

    Xx_Introduction Character input and output is by more line character conpose of the text flow  Defin ...

  8. 极客必备 Chrome 浏览器插件

    本文微信公众号「AndroidTraveler」首发. 自己平时使用的最多的就是 Chrome 浏览器,因此本文主要分享自己添加的一些扩展程序. 介绍扩展程序的时候也是以我本人的实际使用为主,有些功能 ...

  9. android studio 3.4配置Android -jni 开发基础

    首先下载配置android studio ndk 1.打开sdkManager下载CMake和LLDB 2.配置ndk 项目新建 项目建立完毕后,工程目录如下,cpp文件夹是系统自动生成的 3.自定义 ...

  10. table+分页+模糊查询

    这个分页超级棒嘞. 网页链接:http://www.cssmoban.com/cssthemes/7528.shtml