正则表达式

cadence capture CIS 之添加数据库 2021-08-20 cadence capture CIS 之添加数据库准备一、添加数据源 准备 1、数据库文件(*.mdb) 2、电脑上安装好 cadence 软件 一、添加数据源 打开“ ODBC数据源管理器” ( 路径:C:\Windows\SysWOW64\odbcad32.exe ) ... 阅读详情

正则表达式:
符合一定规则的表达式。
作用:专门用于操作字符。
特点:用一些特定符号来表示一些代码操作。可以简化书写
所以学习正则表达式就是学习特殊符号的使用
好处:可以简化对字符串的复杂操作。
具体操作功能:
1.匹配:String matches方法
matches():用规则匹配整个字符串。
只要有一处不匹配返回false


2.切割:String split(String regex);


3.替换 :String replaceAll();
代码演示:代码演示了替换字符串中数字为*(当然替换为什么可以自己定)

演示了切割以及校验QQ号和手机号等经典例子,可以细细体会正则语句,

package Regex;
public class RegexDemo {
	public static void main(String[] args) {
		//checkTel();
		//checkQQ();
//		splitDemo("zhangsan.lisi.wangwu.zhaoliu","\\.");
		//String str = "sdfa1as2224155adf111412asdf2";//将字符串中数组替换成*
		//replaceAllDemo(str,"\\d","*");//sdfa*as*******adf******asdf*
		//replaceAllDemo(str,"\\d{1,}","*");//sdfa*as*adf*asdf*
//		replaceAllDemo(str,"\\d{5,}","*");//sdfa1as*adf*asdf2
		String str = "asfskkkasdfqqqqqqdfa";
//		replaceAllDemo(str,"(.)\\1+","$1");//asfskasdfqdfa
		replaceAllDemo(str,"(.)\\1+","*");//asfs*asdf*dfa
		
		}
	private static void replaceAllDemo(String str,String rex,String newStr) {
		str = str.replaceAll(rex, newStr);
		System.out.println(str);
	}
	//切割
	private static void splitDemo(String str, String rex) {
		/*String str = "";
		String rex = "\\.";*/
		String[] arr = str.split(rex);
		for(String s : arr){
			System.out.println(s);
		}
	}
	//校验QQ号
	private static void checkQQ() {
		/*分析qq号一般是5-9位,不可以出现字母,开头不可以为0*/
		String qq = "2780189437";
		String rex = "[1-9]\\d{4,14}";
		System.out.println(qq.matches(rex));
	}
	/*正则表达式匹配手机号:手机号开始一般以13xx 15xx 18xx
	 * 共11位 且全为数字。*/
	public static void  checkTel(){
		String tel = "15110403105";
		String rex = "1[358]\\d{9}";//第一位1第二位358中的一个,剩下9位全为数字即可。
		System.out.println(tel.matches(rex));
	}
}

正则表达式的第四个功能:
4.获取:将字符串中符合规则的子串取出来


操作步骤:
1.将正则表达式封装成对象。
2.让正则对象和要操作的字符串相关联。
3.关联后。获取正则匹配引擎。
4.通过引擎对符合规则的子串进行操作,比如取出
代码示例:

import java.util.regex.*;
class  RegexDemo2
{
	public static void main(String[] args) 
	{
		getDemo();
	}

	public static void getDemo()
	{
		//定义被操作的字符串
		String str="ming tian jiu yao fang jia le ,da jia";
		
		//定义规则\b单词边界
		String reg="\\b[a-z]{3}\\b";

		//将规则封装成对象。
		Pattern p=Pattern.compile(reg);

		//让正则对象和要作用的字符串进行关联,获取匹配器对象
		Matcher m=p.matcher(str);

		while(m.find())
		{
			System.out.println(m.group());
			System.out.println(m.start()+"****"+m.end());
		}

	}
}

应用示例:使用正则表达式校验邮箱、对IP地址进行排序等
package Regex;
import java.util.TreeSet;
public class RegexTest {
	public static void main(String[] args) {
		//checkMail();
//		test();
		ipSort();
	}/*192.168.0.102 102.59.23.013 10.10.10.10 2.2.2.2 8.109.109.50
	将ip地址进行地址段顺序的排序。*/
	private static void ipSort() {
		String ip = "192.168.0.102 102.59.23.013 10.10.10.10 2.2.2.2 8.109.109.50";
		ip = ip.replaceAll("(\\d+)", "00$1");//给所有的数字补零
		System.out.println(ip);
		ip = ip.replaceAll("0*(\\d{3})", "$1");//只保留三位数
		System.out.println(ip);
		String[] arr = ip.split(" ");//用空格符分割
		TreeSet<String> ts = new TreeSet<String>();
		for(String s : arr){
			ts.add(s);//放入到TreeSet集合进行默认排序。
		}
		for(String s : ts){//去掉多余的0并按照默认排序取出打印
			System.out.println(s.replaceAll("0*(\\d)", "$1"));
		}
	}
	//"我我...我我..我要..要要要....学学学...学学...编编编编...编编....程程程...程"
	//我要学编程。
	private static void test() {
		String str = "我我...我我..我要..要要要....学学学...学学...编编编编...编编....程程程...程";
		str = str.replaceAll("\\.+","");
		System.out.println(str);
		str = str.replaceAll("(.)\\1+", "$1");
		System.out.println(str);
	}
	private static void checkMail() {
		String mail = "y18330025930@163.com.cn";
		String rex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}";
		System.out.println(mail.matches(rex));
	}

}

此处知识几个简单的使用正则表达式的小例子,要多练才能熟练掌握。加油吧!

智能座舱架构与芯片- (9) 音频篇 上 从A2B收发器衍生出来的简化产品具备各种级别的功能,例如端点从节点(不支持TDM)、简化型主节点(支持较短的电缆和更少的从节点数量),以及简化型端点从节点(支持较短电缆和更少的PDM输入)。例如,AVB中的talker和listener是不同的设备,它们的参考时钟源可能并不相同。传统的车载收音机通过天线接收无线电信号,然后由调谐模块(Tuner)进行信号调谐,信道过滤,信道均衡,多路改善,信号解调等,转为数字信号后再交给DSP进行立体声解码,噪声抑制,弱信号处理,最后从车载音响系统进行播放。 阅读详情

相关推荐

Materials Studio实战技巧(八)——利用片段库高效构建有机金属配合物

本文详细介绍了在Materials Studio中利用Fragment Browser(片段浏览器)高效构建有机金属配合物的实战技巧。通过调用预置的Metal Templates和Ligands库,用户可以快速搭建如茂金属催化剂等复杂分子骨架,并利用对称性操作精确控制Meso与Rac构型。文章还涵盖了自定义片段库的创建与使用,能显著提升建模效率,适用于计算化学与材料模拟领域的研究者。

wine的专栏 936

教你如何解决JS/TS里特定String进行拆分然后遍历各个元素

我们需要先判断特定String里是否包含我们需要的元素,针对这个元素对这个字符串进行拆分,遍历各个元素。

华为云官方博客 3539

解决Surface更新后Bitlocker无限循环的问题

在Surface系统更新以后,出现要求输入Bitlocker恢复密钥的问题。已经输入正确密钥以后,依然无法正常进入Windows操作系统,一旦重启依然循环Bitlocker要求输入密钥的界面。 一旦到登录界面,点击“登录”之后又跳转回登录界面.,但就是无法进入桌面。 解决方案: 拒绝暴力重装!这个问题是Bitlock把盘给锁了,所以要解锁 重启之后,直接点击右下角“跳过这个驱动器” 选择“疑难解答”,然后进入命令提示符 先查看判断现在是不是被锁了: 输入: manage-bde -status c

premierapp的博客 1万+

ts 反引号拆分字符串

先上代码: function substring(template, name, age) { console.log(template); console.log(name); console.log(age); } var myname = "123"; var getage = function () { return 18; } substring`my name is ${myname},i am ${getage()} years old` subst

lee727n的博客 1900

详解AUTOSAR:AUTOSAR架构中的配置文件(拓展篇—7)

查看AUTOSAR代码包时会发现一些这样格式的文件:xxx_PBcfg.c、xxx_Lcfg.c和xxx_Cfg.h,本篇博文讲一讲这几个配置文件的作用和特点。

不脱发的程序猿 2146

【箱子之字形摆放】python实现-附ChatGPT解析

箱子之形摆放有一批箱子(形式为宁符串,设为str) ,要求将这批箱子按以之形的顺序摆放在宽度为n的空地,请输出箱子的摆放结果。例如:箱子为ABCDEFG,空地宽度为3,摆放结果如图:则输出结果为:AFGBECD输入一行字符串,通过空格分制,前面部分为字母或数字组成的字符串str,表示;后面部分为一个数字n,表示。ABCDEFG 3箱子摆放结果,如题目示例所示AFGBECD。

sinat_29950703的博客 370

js/ts 数组、字符串操作方法与说明

替换 (1、索引位置 2、删除几个数 3、添加)(1、从第几个索引开始 2、截取几个数)首次出现的位置 获得字符串索引的位置。检查每个是否符合标准 == some。返回符合条件的新数组。

weixin_59405322的博客 880

2025年5月架构设计师论文真题回顾,附写作技巧、所涉知识点及参考范文(三)

本文主要回顾2025年上半年(2025-5-24)系统架构设计师考试下午论文的题目,同时附带写作技巧、所涉知识点及参考范文。试题三:多模型数据库及应用。

一几文的编程学习笔记。 629

ts和js中字符串的常用操作

ts和js中字符串的常用操作包括查找、遍历、连接、大小写转换、替换、字串、数组转换分割等常用api和操作

crazy_yun的博客 4100

OTG原理讲解

摘要:USB OTG(On-The-Go)是USB 2.0的重要功能,允许设备在主机和从机间动态切换,实现设备间的直接通信。其核心机制是通过ID引脚电平判断角色:Micro-USB中接地为Host,悬空为Device;USB-C则通过CC引脚协商。电路设计需处理ID引脚连接和VBUS电源控制,MCU根据ID状态配置USB控制器模式。典型应用包括手机连接U盘、键盘等外设,极大扩展了移动设备的连接能力。

m0_49476241的博客 3218

白皮精读:70页 2025 基于数据空间的金融数据可信流通研究报告【附全文阅读】

金融数据可信流通面临法规、技术与商业模式的挑战。报告分析国内外发展现状,提出基于数据空间的可信流通框架,包含典型场景、技术方案与流通模式。实践案例显示,隐私计算、区块链等技术可提升风控效率与合规性。建议完善数据分类分级、统一技术标准并推动行业试点,以释放数据要素价值,促进数字经济发展。

cdfunlove的博客 848

切割字符串

切割字符串

qq_45844720的博客 286

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

正则表达式(9):扩展正则表达式

上图中的扩展正则使用了分组符号”( )”,”(com|net)”表示将括号内的内容看做一个整体,而括号内的内容为”com|net”,它表示”com或者net”,所以,”(com|net)$”就表示以com或者net结尾的行。上图中,grep命令使用了”-E”选项,表示grep命令会把”正则表达式”中的符号当成”扩展正则表达式”去理解,而不再使用默认的”基本正则表达式”。5、顶级域名之前必须包含一个”点”,换句话说就是,邮箱必须以”.com”、”.net”、”.org”、”.edu”结尾。

qq_40531442的博客 2170

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python正则表达式

正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅python里面可以用,其他的语言也一样适用。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,常用的有都可以用于匹配字符串。

2301_81704383的博客 1322

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux正则表达式,正则表达式分类,元字符,基础正则表达式,扩展正则表达式,正则表达式案例

上文介绍了通配符1,本文介绍、总结和通配符有着诸多共同点的一类符号,即正则表达式(regular expression)。只是通配符的对象是文件、或目录,而后者对象是文本内容。在很多地方都有正则表达式的身影,它的作用是用来匹配指定式样的内容,个人理解为,正则表达式规定了指定式样pattern,能匹配该指定式样的字符或字符串即为内容,内容的来源可以是文件、某个标准输入等,使用正则表达式(regular expression)的目的就是匹配到了该内容。

有人说学习`这个`最好的时间是十年前,有人说最好的时间是现在,众说纷纭... 1821

shell 正则表达式详解

什么是正则表达式;为什么使用正则表达式;如何使用正则表达式;基本正则表达式;扩展正则表达式; 包含正则表达式例题。

weixin_48814356的博客 3003

regex 正则表达式

regex 正则表达式 文章目录regex 正则表达式前言元字符abc 等普通字符| 符号两侧的正则均能匹配. 匹配任意一个字符 '\n'除外^ 匹配字符串开头$ 匹配字符串结尾* 匹配重复0次或多次+ 匹配重复1次或多次? 匹配重复0次或1次{N} 匹配重复指定次数{M,N} 匹配重复指定次数范围[abcd] 字符集匹配[^ ...] 字符集不匹配\d 匹配任意数字字符\D 匹配任意非数字字...

weixin_40118971的博客 6475

linux正则表达式大全,正则表达式,正则表达式语法大全

正则表达式,正则表达式语法大全正则表达式分为两类:基本正则表达式:BRE扩展正则表达式:ERE基本正则表达式的元字符:字符匹配:.: 匹配任意单个字符;[]: 匹配指定范围内的任意单个字符[^]:匹配指定范围外的任意单个字符[:digit:],[:upper:],[:lower:],[:alpha:],[:alnum:],[:space:],[:punct:]匹配次数:用在要指定次数的字符后面,...

weixin_32955259的博客 2878

【正则表达式】{1} ——正则表达式的语法

参考资料:Python网络爬虫与信息提取(北京理工大学慕课) 正则表达式的语法: 正则表达式语法由字符和操作符构成 正则表达式的常用操作符: 操作符 说明 实例 . 表示任何单个字符 [ ] 字符集,对单个字符给出取值范围 [abc]表示a、b、c,[a-z]表示a到z单个字符 [^ ] 非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符 ...

Giyn 4782

正则表达式总结

每次使用到正则表达式的时候都要去翻书或者去网上查,很麻烦,抽出点时间做一个总结,方便以后用到的时候查阅。一、正则表达式的几个特殊符号1、^和$两个特殊的符号‘^’和’$’。他们的作用是分别指出一个字符串的开始和结束。例子如下:"^The":表示所有以"The"开始的字符串("There","The cat"等); "of despair$":表示所以以"of despair"结尾的字符串; "^ab

lmb55的专栏 2269
上一篇: ——多态
下一篇: static--main--单例
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值