黑马程序员----JAVA基础之正则表达式

------ android培训java培训、期待与您交流! ----------


正则表达式:

一. 正则简述

是符合一定规则的字符串表达式。有特殊应用场景。

二.  正则的作用

常用功能就是可以对字符串进行匹配,给其设定某种规则,符合一种规范,比如qq,邮箱,电话号码,另外还可以根据其规则结合字符串操作的方法对字符串进行切割,替换,和获取.以实现特定的要求.

三. 正则 的用法

首先说一些正则表达式的规则

A:特殊字符

\\:反斜线

\r:回车

\n:换行

B:字符类

[abc]a,b或者c的任意一个。

[^abc]:除了a,b,c以外的字符。

[a-zA-Z]:包括了26个英文字母。

[0-9]:包括了0-9这个10个数字字符。

C:预定义字符类

.任意字符

\d数字[0-9]

\D非数字[^0-9] 

\w单词字符:[a-zA-Z_0-9] 

\W非单词字符:[^\w] 

D:边界匹配器

^行的开头 

$行的结尾 

\b单词边界 

E:Greedy 数量词

x?0次或1

x*0次或多次

x+1次或多次

x{n} 恰好n

x{n,} 至少n

x{m,n} 至少m次,但不能超过n

按照这些规则,能够读懂别人的正则表达式即可。

简单的常见最好会写。

(3)正则的功能

A:匹配功能

String类下的matches

B:切割功能

String类下的split

C:替换功能

String类下的replaceAll

D:获取功能

Java正则表达式通过java.util.regex包下的两个类:Pattern和Matcher实现的

基本模式:

String regex = "规则";

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(要获取的字符串);

m.find():判断是否有满足条件的数据

m.group():取出满足条件的数据


案例

import java.util.regex.*;
public class RegTest {
    static void test()
    {
        Pattern p = null;    // 正则表达式
        Matcher m = null;    // 操作的字符
        boolean b = false;
        // 正则表达式表示首字母是a,中间是任意字符,结尾以b结束 // 不匹配的结束
        p = Pattern.compile("a*b");
        m = p.matcher("baaaaaab");
        b = m.matches();
        // 输出匹配结果
        System.out.println("匹配结果:"+b);
        p = Pattern.compile("a*b");
        m = p.matcher("aaaab");
        b = m.matches();
        System.out.println("匹配结果:"+b);
    }
    public static void main(String argv[])
    {
        test();
    }
}


.  正则的应用场景

当需要对一些字符串按按照给定的规则匹配,获取,切割,和替换时.

.  正则的特点

只能对字符串操作
常与字符串的方法相结合






                
【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值