字符串匹配

2017-04-24 15:12:49 +08:00
 twogoods
"139****2301: 江苏 扬州 江苏移动全球通卡"
"{mobile}: {pr} {city} {property}"
最终得到 mobile=139****2301 , pr=江苏 等
正则表达式能实现吗?如何写
1848 次点击
所在节点    程序员
11 条回复
QAPTEAWH
2017-04-24 15:24:54 +08:00
不要用正则表达式。
twogoods
2017-04-24 15:30:11 +08:00
@QAPTEAWH 现在是我不能写死,"{mobile}: {pr} {city} {property}" 这个类似于配置,配置好了我通过这个规则拿到里面的值
imn1
2017-04-24 15:31:42 +08:00
查阅正则手册 (?<p>)的用法
QAPTEAWH
2017-04-24 15:32:58 +08:00
那就把规则也作为输入。
konia
2017-04-24 16:00:25 +08:00
([0-9]+): ([^ ]+) ([^ ]+) ([^ ]+)
twogoods
2017-04-24 16:10:05 +08:00
@konia 谢谢,可以匹配,但不知道如何截取那四个信息
geelaw
2017-04-24 16:16:43 +08:00
@twogoods 很多语言会在每个左括号开始的地方建立一个 group ,你可以从 group 里面拿数据。

另外你不能 result.split(' ') 然后拿数据吗?
manhere
2017-04-24 16:21:34 +08:00
backreference
mapleray
2017-04-24 16:26:18 +08:00
(?<name>exp)
suyingtao
2017-04-25 13:15:40 +08:00
按空格拆分成一个数组,第一元素删掉最后一位。
twogoods
2017-04-25 16:46:49 +08:00
@suyingtao 哥,不能写死,我希望通过这种规则处理各种各样的字符串啊

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

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

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

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

© 2021 V2EX