我有这些数据:
/blabla/blabla (abs,def)
/yxz
我使用这个正则表达式
(.*)(?:\(([^$]*)\))?\n
但它不起作用,我不知道什么是错的。
我需要第一个“目录”信息,并选择“()”中的信息。
答案 0 :(得分:1)
此正则表达式提取组1中的第一个目录以及()之间的任何内容(可选):
/([^/]*)(?:\((.*?)\)|.)*
请告诉我这是否有效或需要一些帮助。
Match 1: /blabla/blabla (abs,def) 0 24
Group 1: blabla 1 6
Group 2: abs,def 16 7
Match 2: /yxz 28 4
Group 1: yxz 29 3
Group 2 did not participate in the match
编辑快速乔
答案 1 :(得分:1)
尝试使用一些在线正则表达式匹配器(例如:http://www.rubular.com/)来自行测试。其中许多都具有匹配突出显示功能,您可以通过它们优化您的正则表达式
答案 2 :(得分:0)
([^(\n]+)(?:\(([^)]*)\))?