今天学习正则表达式,学到哪里写到哪里?(一)

我不关心正则表达式的严谨定义和各种风格流派之类的。那些都是旁支末节,我们更应该关系的是它能干什么。这往往是一个“技术”的安身立命之处,是其之所以存在的理由。

“快速高效的查找和分析字符串. 也可以用于验证一个字符串是否符合某个给定的规则。”这是我在百度上搜索的答案。我也不知道说的是否直白。还有一些简练的答案“模式匹配,用来快速的查找,替换和删除某些特定模式的子字符串。”

正则或者应该说是规则,其英文为“Regular”,所以正则表达式也被称为规则表达式。以我来看后一个名字比前一个棒多了。它可以给我们一个相对直观的描述。“正则”,“代数”,“几何”,“拓扑”这些名字过于唬人,可能你问一些数学系的教授也解释不清这些名字到底是什么意思。

它是怎么工作的?
正则表达式描述了待寻找字符串的一些特征。它可以在字符串中找到一系列满足这种特征的子字符串。这种特征即为“正则”,其描述即为“正则表达式”。而其形式上也是一个字符串,虽然开始的时候看上去乱七八糟毫无“规则”。

正则表达式的使用,可以通过简单的办法来实现强大的功能。下面先给出一个简单的示例:

^[0-9]+abc$

^ 为匹配输入字符串的开始位置。

[0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。

abc$ 匹 配 字 母 a b c 并 以 a b c 结 尾 , 匹配字母 abc 并以 abc 结尾, abcabc 为匹配输入字符串的结束位置。

先写到这,另外让我不解的是在说到其起源时,提到了人工神经元,神经网络这些。说是曾经有人用其表达数学化的神经元网络。但是之前学习人工神经网络时,我并没有接触到这方面。

你可能感兴趣的:(今天学习正则表达式,学到哪里写到哪里?(一))