学习正则表达式,一看就懂

3个重要的正则式命令

记住正则语法最好的办法就是记住这三样东西:Bracket(括号), caret(插入符号)和Dollars(美元符号)。
这里写图片描述

B在正则表达式中有3种类型的括号
方括号 “[“和花括号“{“ 。
方括号”[“内是需要匹配的字符,花括号”{“内是指定匹配字符的数量。
圆括号“(“ 则是用来分组的。

C 插入符号 “^” 表示正则式的开始。

D 美元符号“$” 表示正则式的结束。

现在你知道上面的3个语法后,你就可以写世界上任何一条验证规则了。比如下面的例子就很好的说明了上面3条正则语法是如何协调运作的。


让我们在来看看BCD(其实也就是上面说的3条基本语法)如何验证email格式

第一步:email开始是长度在1-10的英文字母,最后跟一个”@”:

^[a-zA-Z0-9]{1,10}@

第二步:@后面是长度在1-10的英文字母,后面跟一个”.”:

[a-zA-Z]{1,10}.

第三步:最后以.com或.org结束:

.(com|org)$

最后完整的表达式如下:

^[a-zA-Z0-9]{1,10}@[a-zA-Z]{1,10}.(com|org)$
^[a-zA-Z0-9]{1,10}[@][a-zA-Z]{1,10}[.](com|org)$
^[a-zA-Z0-9]{1,10}[@][a-zA-Z]{1,10}\.(com|org)$

在这里说明一下,其实.号在正则表达式里面是一个快捷符号,已经代表了“除换行符之外的所有符号”,所以最好在这个例子里用[.]来表示点,这样就是代表.号了。然后还可以用反斜杠\来转义.号,.就是代表了.号。所有在正则里已经有含义的符号都可以用\来转义。可以在线测试对比下,提供个网址:[http://tool.oschina.net/regex/]


快捷命令不用也可以,因为用范围符+频率+定位符^$都可以实现匹配,用快捷命令是成为高手的必经路

这里写图片描述

补充一些:
\s代表单个空格,Tab和换行
\S是\s逆运算
\w代表字母、数字和下划线
\W是\w的逆运算

然后{}是频率的用法
{n} 代表确定n次
{n,}n次及以上
{n,m}n至m次
+代表一次或多次,可以写成{1,}
*零次或多次 ,可以写成{0,}
?零次或一次,可以写成{0,1}

定位符
^必须在开头

^hell  匹配hello、 hell

$必须在结尾

ar$ 匹配car 、 bar

\b开头或结尾

\bbom 匹配bomb  man\b匹配human

\B中间

\Bjava\B 匹配ForjavaEJB

[]范围符可以匹配中文,用ascii码就可以

[\u4E00-\u9FFF] 匹配中文
### 回答1: 正则表达式是一种用于处理字符串的工具,但它的语法比较复杂,可能会让人感到困惑。如果你看不正则表达式,可以尝试以下方法: 1. 学习正则表达式语法:可以通过书籍、网上教程等途径学习正则表达式的语法规则,掌握基本的语法结构。 2. 使用正则表达式工具:可以使用一些正则表达式工具,如Regex101、RegExr等,输入你想要匹配的字符串和表达式,这些工具会将匹配的结果高亮显示,帮助你理解正则表达式的作用。 3. 练习:多练习使用正则表达式,尝试匹配不同的字符串,熟悉了解正则表达式的使用场景。 4. 借助其他工具:有些编程语言或软件包提供了对正则表达式的支持,可以尝试使用这些工具,结合文档学习正则表达式的使用方法。 综上所述,学习正则表达式需要耐心和实践,通过不断尝试和学习,你将能够掌握这一有用的工具。 ### 回答2: 对于不正则表达式的人来说,可以采取以下几种方法来解决这个问题。 首先,可以从理论知识入手,了解正则表达式的基本原理和语法规则。可以参考一些权威教程或者书籍,例如《正则表达式必知必会》等。通过系统地学习正则表达式的知识,掌握常用的元字符、字符类和量词等,可以更好地理解和应用正则表达式。 其次,可以借助在线工具和软件来帮助理解和测试正则表达式。许多在线正则表达式测试工具(如 Regex101、Regexr 等)提供了可视化的界面,可以输入正则表达式和测试字符串进行实时匹配和验证,帮助用户实际运用和观察正则表达式的匹配结果,从而更好地理解其工作原理。 另外,还可以寻求专业人士或经验丰富的开发者的帮助。可以在相关的技术社区或论坛上提问,与其他人交流和讨论,分享自己的疑惑和遇到的问题,从他人的经验和解答中获得帮助。也可以积极参与开源项目,从实践中积累经验,逐渐提高自己对正则表达式的理解和运用能力。 最后,通过实际的练习和实践来加深对正则表达式的理解。尝试编写一些简单的正则表达式,并在实际的文本匹配或替换中测试其效果。通过不断的实践和调试,逐步加深对正则表达式的理解和熟练度。 总之,正则表达式是一项强大且灵活的文本处理工具,虽然初期理解和掌握可能会有一定难度,但通过适当的学习、实践和寻求帮助,相信任何人都能够逐渐掌握和应用正则表达式。 ### 回答3: 正则表达式可以在文本处理和模式匹配方面提供很强大的功能。如果你对正则表达式感到困惑,可以考虑以下几个方法来帮助你理解和掌握它们。 1. 学习基础知识:首先,你可以通过阅读相关的教程和学习材料,了解正则表达式的基础语法和常用的元字符和操作符。掌握这些基础知识将有助于你更好地理解正则表达式的工作原理。 2. 练习实例:可以通过尝试一些简单的实例来练习你的正则表达式技能。从一个简单的模式开始,比如匹配一个特定的单词或字符,并逐渐增加复杂度。逐步练习和实践将有助于你发展对正则表达式的理解和掌握。 3. 使用在线工具:有很多在线的正则表达式测试工具可以帮助你验证和调试你的模式。这些工具通常提供实时的结果反馈和错误提示,能够帮助你更好地理解正则表达式的匹配过程和结果。 4. 参考文档和社区:如果你在使用正则表达式时遇到了困惑或问题,可以查阅相关的文档和参考资料。网络上有很多关于正则表达式的详细说明和示例,以及相应的社区和论坛,可以帮助你解决疑惑和获取技术支持。 5. 寻求帮助:如果你尝试了以上方法仍然无法理解正则表达式,可以寻求其他人的帮助。你可以向你认识的开发者或技术专家请教,或者在技术论坛上提问。他们可能会提供一些实际问题的解答和指导,帮助你更好地理解和应用正则表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值