正则表达式求解

2015-08-17 10:35:13 +08:00
 xiaochong
对于如下字符串:

merge table (t1, t2 ),(t3, t4, t5 ) request node (420001,420002, 420003 )

希望只匹配 merge table 后括号内容(t1,t2 ),(t3,t4, t5 ), 目前我的书写为

.*MERGE TABLE\s*(\(.*\))

结果将 request node 后面括号内容也匹配到了,如何更改表达式来去除, merge table 后括号为 1-n 个

先谢!
2065 次点击
所在节点    问与答
8 条回复
wusuopuBUPT
2015-08-17 10:42:46 +08:00
$pattern = "#merge table (.*?) request#";
imn1
2015-08-17 10:46:41 +08:00
.*MERGE TABLE\s*(\(.*\)) request

.*MERGE TABLE\s*(\([^r]*\))
fising
2015-08-17 10:53:32 +08:00
@imn1 .*多余
jiyee
2015-08-17 10:55:10 +08:00
merge table\s*(.*?)\s*(?=request )
gangzhuo
2015-08-17 11:05:35 +08:00
imn1
2015-08-17 11:39:59 +08:00
@fising
Y
照抄,没想
IFoon
2015-08-17 11:48:19 +08:00
看到头像回复一下。
xiaochong
2015-08-17 12:26:10 +08:00
@IFoon 哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/213691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX