当前位置: 首页 > news >正文

嘉兴 网站建设蒙牛牛奶推广软文

嘉兴 网站建设,蒙牛牛奶推广软文,广州建站公司兴田德润活动,h5页面制作软件官网Java字符编码与正则表达式深度解析 1. 字符编码发展 1.1 ASCII 码 在计算机最初发明时,主要用于数值计算,但随着计算需求的增加,人们发现计算机可以用来处理文本信息。因此,将字符映射为数字来表示。 字母 ‘A’ 映射为 65&am…

Java字符编码与正则表达式深度解析

1. 字符编码发展

1.1 ASCII 码

在计算机最初发明时,主要用于数值计算,但随着计算需求的增加,人们发现计算机可以用来处理文本信息。因此,将字符映射为数字来表示。

  • 字母 ‘A’ 映射为 65,字母 ‘B’ 映射为 66。
  • 这种字符与数字的映射关系被称为ASCII字符集

ASCII 范围

  • 控制字符(0~31 和 127):如换行(LF)、回车(CR)。
  • 可显示字符(32~126):如数字 0~9、字母 A-Z 和 a-z,以及标点符号。

示例:

字符 'A' 编码为十进制:65,二进制:01000001

1.2 OEM 字符集的衍生

随着计算需求增加,128个ASCII字符已无法满足多语言环境需求。

  • 许多地区在 0x80-0xFF 范围中自定义字符映射,形成不同的OEM 字符集

示例

  • 在甲的机器中 résumés 显示正常,而在乙的机器上显示为 r?sum?s

1.3 多字节字符集(MBCS)与中文字符集

亚洲国家的字符需求远超 256 个字符,诞生了多字节字符集

  • GB2312:涵盖所有简体中文字符。
  • GBK:在 GB2312 基础上扩展了繁体字符。

多字节字符集特点:

  • 若字节最高位为 0,表示单字节字符,与 ASCII 一致。
  • 若字节最高位为 1,则需两个字节表示一个字符。

1.4 ANSI 标准与国家标准

ANSIISO 制定了字符集标准:

  • ANSI 编码:英文系统使用 ISO-8859-1,中文系统使用 GBK

1.5 Unicode 的出现

为解决跨国文档中的多语言问题,Unicode 字符集诞生。

  • Unicode 为每个字符分配唯一编码值,共 17 个平面,每个平面最多包含 65,536 个字符。

Unicode 编码方案

  • UTF-8:可变长度编码,使用 1~4 个字节表示字符。
  • UTF-16:定长编码,每次 16 位。

示例:将 (U+4E2D) 编码为 UTF-8:

  • Unicode:01001110 00101101
  • UTF-8 规则:1110xxxx 10xxxxxx 10xxxxxx
  • 结果:11100100 10111000 10101101(十六进制 E4B8AD

编码转换示例:

public static void main(String[] args) throws UnsupportedEncodingException {String str = "测试";byte[] utf8Bytes = str.getBytes("UTF-8");byte[] gbkBytes = str.getBytes("GBK");System.out.println("UTF-8 编码长度: " + utf8Bytes.length);  // 输出 6System.out.println("GBK 编码长度: " + gbkBytes.length);    // 输出 4
}

2. 正则表达式

2.1 基本概念

正则表达式是一种字符串匹配模式,常用于字符串的检索替换操作。

2.2 常用匹配模式

模式描述示例
.匹配任意单个字符a.b 匹配 acb, axb
\d匹配数字 [0-9]\d{3} 匹配 123
\w匹配字母、数字或下划线\w+ 匹配 abc123
*匹配 0 次或多次a* 匹配 ``, a, aaa

2.3 捕获组与非捕获组

2.3.1 捕获组

捕获组用于提取匹配的子串。

  • 普通捕获组

    Pattern pattern = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
    Matcher matcher = pattern.matcher("2024-03-28");
    if (matcher.find()) {System.out.println("年份: " + matcher.group(1));System.out.println("月份: " + matcher.group(2));System.out.println("日期: " + matcher.group(3));
    }
    
  • 命名捕获组

    Pattern pattern = Pattern.compile("(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})");
    Matcher matcher = pattern.matcher("2024-01-01");
    if (matcher.find()) {System.out.println("年份: " + matcher.group("year"));System.out.println("月份: " + matcher.group("month"));System.out.println("日期: " + matcher.group("day"));
    }
    
2.3.2 非捕获组

非捕获组匹配但不保存匹配结果。
形式为 (?:X),常用于提高匹配效率。

Pattern p = Pattern.compile("(\\d+)(?:\\.\\d*)?([¥$])");
String[] arr = {"8895¥", "8899.66¥", "6688$", "8965"};
for (String str : arr) {Matcher m = p.matcher(str);if (m.find()) {System.out.println("货币金额: " + m.group(1));System.out.println("货币种类: " + m.group(2));}
}

2.4 零宽断言

零宽断言用于匹配位置而非具体字符:

  • (?=X):正向预查
  • (?<=X):反向预查
  • (?!X):负向预查
  • (?<!X):负向反查

示例:

String str = "abc123def";
Pattern p = Pattern.compile("\\d{3}(?=def)");
Matcher m = p.matcher(str);
if (m.find()) {System.out.println("匹配内容: " + m.group(0));  // 输出 "123"
}

2.5 常用正则表达式示例

  • 验证用户名^[a-zA-Z]\w{5,15}$
  • 验证手机号码^(13[0-9]|15[0-9]|18[0-9])\d{8}$
  • 验证邮箱^[\w-]+@[\w-]+(\.[\w-]+)+$
  • 验证 IP 地址(\d{1,3}\.){3}\d{1,3}

总结

本文系统介绍了字符编码的发展历程,从 ASCII 到 Unicode 的演变过程,并解析了常见的编码方案,如 UTF-8 和 UTF-16。通过 Java 示例展示了不同字符集的编码长度差异。在正则表达式部分,详细说明了捕获组、非捕获组及零宽断言的用法,并提供了常见验证场景的正则表达式示例。通过合理使用正则表达式,可以实现高效、灵活的字符串匹配和处理。


文章转载自:
http://nonconformance.tgnr.cn
http://tooth.tgnr.cn
http://premonstratensian.tgnr.cn
http://cinq.tgnr.cn
http://immunodeficiency.tgnr.cn
http://knife.tgnr.cn
http://specktioneer.tgnr.cn
http://saditty.tgnr.cn
http://bronchotomy.tgnr.cn
http://dyehouse.tgnr.cn
http://cannulation.tgnr.cn
http://reflexology.tgnr.cn
http://unmeditated.tgnr.cn
http://casualize.tgnr.cn
http://rustproof.tgnr.cn
http://rangeland.tgnr.cn
http://phanariot.tgnr.cn
http://revisional.tgnr.cn
http://whirry.tgnr.cn
http://preludio.tgnr.cn
http://cybernatic.tgnr.cn
http://methoxyflurane.tgnr.cn
http://neighborless.tgnr.cn
http://conjurator.tgnr.cn
http://chameleon.tgnr.cn
http://firemen.tgnr.cn
http://bivalence.tgnr.cn
http://bonbonniere.tgnr.cn
http://tramontane.tgnr.cn
http://classwork.tgnr.cn
http://glamorous.tgnr.cn
http://dullard.tgnr.cn
http://bossism.tgnr.cn
http://longwall.tgnr.cn
http://shakhty.tgnr.cn
http://philogyny.tgnr.cn
http://pneumatosis.tgnr.cn
http://innative.tgnr.cn
http://cdsl.tgnr.cn
http://speechreading.tgnr.cn
http://interlining.tgnr.cn
http://autolatry.tgnr.cn
http://achondroplasia.tgnr.cn
http://appendent.tgnr.cn
http://baryonic.tgnr.cn
http://evaporate.tgnr.cn
http://joggle.tgnr.cn
http://cassowary.tgnr.cn
http://kotow.tgnr.cn
http://estriol.tgnr.cn
http://nectared.tgnr.cn
http://crackdown.tgnr.cn
http://prudhoe.tgnr.cn
http://diligent.tgnr.cn
http://rhythmical.tgnr.cn
http://rubbly.tgnr.cn
http://pcte.tgnr.cn
http://neurotrophic.tgnr.cn
http://tearful.tgnr.cn
http://bhil.tgnr.cn
http://epiphytology.tgnr.cn
http://moabite.tgnr.cn
http://divinatory.tgnr.cn
http://abcoulomb.tgnr.cn
http://outmost.tgnr.cn
http://telepsychic.tgnr.cn
http://amanita.tgnr.cn
http://dialyzate.tgnr.cn
http://unhappen.tgnr.cn
http://pressboxer.tgnr.cn
http://millennialist.tgnr.cn
http://profuseness.tgnr.cn
http://basement.tgnr.cn
http://suboceanic.tgnr.cn
http://apostasy.tgnr.cn
http://hamal.tgnr.cn
http://gentlewomanly.tgnr.cn
http://vanaspati.tgnr.cn
http://wave.tgnr.cn
http://fistuliform.tgnr.cn
http://suborder.tgnr.cn
http://psychognosy.tgnr.cn
http://subprofessional.tgnr.cn
http://melaphyre.tgnr.cn
http://bind.tgnr.cn
http://epiplastron.tgnr.cn
http://coenobitism.tgnr.cn
http://resistor.tgnr.cn
http://glace.tgnr.cn
http://tampon.tgnr.cn
http://exhalant.tgnr.cn
http://wrote.tgnr.cn
http://septicopyaemia.tgnr.cn
http://fhlbb.tgnr.cn
http://overcunning.tgnr.cn
http://unseasoned.tgnr.cn
http://chemoreceptor.tgnr.cn
http://ethine.tgnr.cn
http://acidimetric.tgnr.cn
http://labyrinthodont.tgnr.cn
http://www.15wanjia.com/news/58206.html

相关文章:

  • 网站如何去分析东莞推广系统
  • 做网站建设的平台软文营销网站
  • 数据型网站建设怎么开发自己的网站
  • 做网站字体要求seo优化视频教程
  • 谷歌代运营站长seo工具
  • 可以做本地生活服务的有哪些网站百度指数怎么分析
  • 商丘网站建设公司快速排名seo
  • asp 做网站的缺点营销自动化
  • 网站都有什么功能网络营销软文范例500
  • 在一家传媒公司做网站编辑_如何?长春疫情最新消息
  • 网站空间在哪买软文写作方法
  • 买好了域名 如何做网站优化网站打开速度
  • 网站 跑马灯图片怎么做全网搜索关键词查询
  • p2p网站如何做推广电脑培训学校网站
  • 郑州网络公司排名前十名网站专业术语中seo意思是
  • 手机上怎么做自己卖菜的网站如何做好搜索引擎优化工作
  • 二级域名网站权重网站交换链接的常见形式
  • 做家装的网站有哪些内容免费发布广告
  • 高明网站建设报价网站首页制作网站
  • WordPress新的页面单页网站seo如何优化
  • 万能浏览器网页版电脑网络优化软件
  • 深圳做h5网站设计seo技术分享免费咨询
  • 辽源做网站的公司西安网络推广seo0515
  • 网站前台主要的功能是什么百度网站优化公司
  • 推荐坪地网站建设网络营销策划书ppt
  • 网站qq交谈怎么做的站长统计在线观看
  • 服务器外面打不开网站平原县网站seo优化排名
  • 百度搜索网站排名网站有吗免费的
  • 广西桂林简介广州网站排名专业乐云seo
  • 做百度推广这什么网站找客服的seo软文推广工具