正则表达式实例详解(适合初学者)
数学公式正则表达式:
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
匹配加减乘除数学公式,如:((1 2)-3*4)
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
正则表达式结果再次正则、可以"("开始,压入堆栈统计括号数量,*代表可以出现0次或多次
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
可以出现一次正负号
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
0-9数字,一个或多个
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
编译原理不能使用正则表达式,可以")"结束,弹出堆栈统计括号数量,*代表可以出现0次或多次
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
橙色括号分组说明可以出现一次或多次,如公式1 2 ,这个括号里是匹配 2
红色要求 -*/出现一次
(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
判断括号开始时,可以有正负号,?代表使用懒惰匹配,即如:1 (((2-3) 4) 5)时,只匹配数字2前面的一个括号一次
php正则表达式?(?'kh'()*([- ]){0,1}[0-9.] (?'-kh'))*([ -*/]{1}(?'kh'()*((?<=()([- ]){0,1})?[0-9.] (?'-kh'))*) (?('kh')(?!))
检查括号是否配对
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态