来看一下正则里面的匹配。
主要说一下红框里面的,前面几个在前两篇已经介绍过了。
后面的这几个,用法很固定,我还是举例子来说明一下。
在做一些应用类书籍的时候,经常遇到,化学式比如 Na2Co3,或者维生素B1、B2,这一类,标准的做法是将数字改成下标。这个数字跟随的字符是比较有规律,化学元素后面,以及维生素+字母的后面。这时候就需要用到匹配,为什么不能用标记子表达式,也就是英文括号进行操作,因为英文括号会将所有文本的字符样式变成一样的,这是我们不需要的,我们只想改变数字的字符样式。
用维生素B1为例。
这里用到了肯定反查(?
肯定正査的意思是 如果文本符合等号后面的内容,就查找文本右侧的内容。正査反查对应了文本的左侧和右侧,我们要查找的内容是在 维生素字母 的右侧,所以要用反查,符合维生素字母 才要查找,这就是肯定。这里刚开始可能有点不好理解,但用几次就会了解。
需要注意一点,匹配的公式写法跟文本字符顺序是相同的。
看个例子,我要搜索下面词组里的“男”,要求“男”的右侧不是“女”。
女 是第一个判断条件,不是 女 应该是否定 ,第二个条件是查左侧是不是男,左侧就是正査,所以要用否定正査。
这是正确的写法,来比较一下这两个。
不管是哪种匹配,他的阅读顺序跟正文里的文本顺序是相同的。就是说把匹配符号去掉只留下 汉字和通配符,他就是正文里的内容。
正则就这么多内容,明天说一下常用的正则表达式。
领取专属 10元无门槛券
私享最新 技术干货