问个正则

2018-07-13 12:23:37 +08:00
 imn1
string "[123]...(abc)"
需要将“ 123 ”提取到 key1,"abc"提取到 key2,(?<key1>)方式

问题是
[] 和 () 出现的顺序不确定,也可能是
string "(abc)...[123]"

能否一条正则搞定?
1819 次点击
所在节点    Python
7 条回复
wizardoz
2018-07-13 12:54:26 +08:00
"\[(?P<key1>[0-9]+)\].+\((?P<key2>[a-z]+)\)"
imn1
2018-07-13 12:59:57 +08:00
@wizardoz
你应该没看完问题
zynlp
2018-07-13 13:16:40 +08:00
会不会有嵌套的情况呢?
rocketman13
2018-07-15 15:36:00 +08:00
正则我要提取或者替换的的文本中既有双引号也有单引号,那我概括选中这段文本时是不是要用三引号??
imn1
2018-07-15 15:43:31 +08:00
@rocketman13
你干吗不自己发个帖问啊?

不需要,用转义就可以了,\' or \" 视乎外面用哪个
rocketman13
2018-07-15 22:25:03 +08:00
@imn1 可以的
frostming
2018-07-17 12:46:33 +08:00
(?=.*?(\[.+?\]))(?=.*?(\(.+?\))).+?

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

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

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

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

© 2021 V2EX