regex - 正则表达式中异或(XOR)的第二个条件
问题描述
我想要一些关于我正在处理的正则表达式中异或的第二个条件的帮助。
这个正则表达式的目的是获取后面的字符串,cn=
并且一直到一个括号被一个空格成功或一直到两个右括号。
在第一种情况下,它将是我不想出现在我的匹配数据上的空白空间之后的文本,但我无法摆脱它,例如:
(&(cn=Another (test)))
(&(cn=Another (test)) (objectClass=group))
在上面的这个例子中,我只想得到另一个(测试)
我尝试了否定的前瞻,但无法使其工作。
到目前为止我得到了什么:
https://rubular.com/r/DVV830IGSGiNSf
编辑:
我需要得到的是与cn=
文本在同一个括号内的字符串,除了cn=
它本身。我需要突出显示的内容:
(&(cn=测试))
(&(cn=测试) (objectClass=group))
(&(CN= Te(st)ing ))
(&(CN= Te(st)ing ) (objectClass=group))
(&(cn=另一个 (测试) ))
(&(cn=另一个 (test) ) (objectClass=group))
(&(cn=访问 RW \Srv-corp\ScriptsDesenv ))
(&(cn=访问 RW \Srv-corp\ScriptsDesenv ) (objectClass=group))
(&(cn=访问() ))
(&(cn= Access() ) (objectClass=group))
解决方案
我建议在匹配的括号处拆分字符串,cn
然后使用(cn|CN)=([0-9a-zA-Z \\()-])+
推荐阅读
- qt - 为什么我的 Qt5 应用程序(和 qt-creator)无法显示某些奇异的 unicode 字符
- json - recaptcha 响应中的前导符号“)]}'”是什么
- python - 在 Mac 上更新 python 版本
- python - KivyMD 与 plyer Filechooser - 如何获取目录的路径?
- ios - 当我在 ios 模拟器上运行我的颤振项目时出现此错误:-ProcessException:进程超时:
- sql - 根据唯一记录 postgres 将一列从一个 sql 表传输到另一列
- c# - Unity Run 功能在按钮单击事件后连续运行
- blazor - Blazor 服务器端应用程序在文件下载后死机
- python - Google OR-Tools - 找到最佳小组作业
- java - com.mongodb.MongoSocketOpenException:异常打开套接字