正则表达式和下一个符号不是'(‘
发布时间:2020-12-14 05:57:21 所属栏目:百科 来源:网络整理
导读:我想要一个表达式,其中找到的值之后的下一个符号不是“(”. 我有以下基础正则表达式: (([_A-Za-z]([_w])+)|([A-Za-z])) 和文字例如: a3+red+42+_dv+Sy(w12+44) 希望的正则表达式应该返回: a3,red,_dv,w12 这个基础正则表达式返回 a3,Sy,w12 但我需要排除
我想要一个表达式,其中找到的值之后的下一个符号不是“(”.
我有以下基础正则表达式: (([_A-Za-z]([_w])+)|([A-Za-z])) 和文字例如: a3+red+42+_dv+Sy(w12+44) 希望的正则表达式应该返回: a3,red,_dv,w12 这个基础正则表达式返回 a3,Sy,w12 但我需要排除’Sy’,因为下一个符号是“(”. 我尝试以下方法: (([_A-Za-z]([_w])+)|([A-Za-z]))(b) 但它回来了 a3+,red+,_dv+,w12) 我不需要有下一个符号,只有在下一个符号不是“(”时才需要包含. 解决方法
你需要做三件事:
>将模式包含在原子组中(或至少包含量词的备用的第一部分) 结果: b((?>[_A-Za-z]w+)|[A-Za-z]b)(?!() 在这种情况下,第1点对于阻止回溯机制很重要:Abcd(没有它,模式将成功并返回Abc.使用原子组,模式将匹配Abcd,因为它不能返回,它将失败的下一个角色. 其他编写模式的方法: b(?>[A-Za-z]w*|_w+)(?!() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 更多控制器但行动更少或控制器更少但行动更多
- swift – AVPlayerLooper不会循环播放多个视频
- oracle 如何导出数据字典
- sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区
- sqlite3.7.9 VC2010编译说明
- 一个老外对postgresql.conf的重新组织[换博客]
- DWR反向ajax回传--真正的实时信息 (包含配置步骤)
- ruby-on-rails – Rails设计Sessions Controller
- ruby-on-rails – 在许多模型中添加注释的最佳实践,不是自己
- Swift 3 – PHFetchResult – 枚举对象 – 模糊使用’枚举对