正则表达式能够从字符串中发现规律,找到规律,应用规律。比如,对于2、4、6、8、10这样的数字序列,如何计算第6个值,要先找该序列的规律,然后用“2n”这个表达式来描述其规律,进而得到第6个值为12。正则表达式是一个特殊的字符序列,它能帮助我们方便地检查一个字符串是否与某种模式匹配,所以在文本处理中常常使用正则表达式提取信息。正则表达式是对字符串操作的一种逻辑公式,即用事先定义好的一些特定字符及其组合,组成一个“规则字符串”。这个“规则字符串”用来表达对字符串的一种过滤逻辑(可以用来做检索、截取或者替换操作)。
那么到底什么是用于表达规则和模式的字符串呢?我们使用中国的邮政编码来理解。下面是几个邮政编码,“成都温江区:611130;成都青羊区:610031;成都武侯区:610041;北京朝阳区:100020”。
邮政编码规律如下:以非零数字开头,后面跟随5位数字,共计6位数字。如何表达上述规则呢?我们可以使用:[1-9]\d{5}这个正则表达式的字符串来表述邮编的规则,细节如下:
· [1-9]:表示匹配一个非零数字。方括号[]表示字符集,其中的字符是可选的,此处表示数字范围为1到9。
· \d:表示匹配任意数字字符,等价于[0-9]。
· {5}:表示匹配前面的表达式恰好5次,即匹配5个数字字符。
请思考下面的问题:下面的文本记录了你的旅游花费,consumption="hotel: $100,food:¥500.50,tip:$10,food:¥100.125",请总结该字符串中金额的字符串模式。