提问一个正则匹配的问题

2021-07-30 11:32:29 +08:00
 sadfQED2

如果我只想要正则匹配结果中的部分内容,有什么办法吗?比如我现在需要在一段文字中找出电话号码

文字 demo:

你好啊 010-6565656 你好!

我的正则

/\d+-\d+/

这样拿到的匹配结果是 010-6565656,但是如果我只想要匹配结果中的电话号码,而不要区号的话怎么写呢(匹配语句里面还是得包含区号,只是输出结果不要区号)?我依稀记得有个什么写法可以只拿到想要的部分。但是太久没写正则了,不记得叫啥了,搜索引擎搜了半天也不知道关键字是啥

529 次点击
所在节点    正则表达式
2 条回复
hyrious
2021-07-30 14:57:44 +08:00
/(?<=\d+-)\d+/

look behind , 不过这个功能不是所有 regex 引擎都支持

/\d+-(\d+)/

另一个选择是用 () 提取出来
sadfQED2
2021-07-30 17:46:42 +08:00
@hyrious #1 非常感谢

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

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

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

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

© 2021 V2EX