gpt4 book ai didi

java - 如何为字符串编写正则表达式模式来识别空格或连字符之前的数字?

转载 作者:行者123 更新时间:2023-12-01 20:55:42 24 4
gpt4 key购买 nike

我有一个自由流动的字符串,其中有一些随机文本,如下所示:

  • “一些随机文本 080 2668215901”
  • “一些随机文本 040-1234567890”
  • “一些随机文本 0216789101112”

我需要捕获 3 位数字和以下 10 位数字:

  • 有空间条件
  • 有连字符条件
  • 没有任何空格/连字符

我正在使用Java。

这是我尝试从自由流动的文本中获取数字的方法:

"\\w+([0-9]+)\\w+([0-9]+)"

我可以检查字符串长度,看看连字符或空格前面是否有 3 位数字,然后是 10 位数字。但我真的很想探索正则表达式是否可以给我一个更好的解决方案。

此外,如果字符串中出现更多情况,我需要将它们全部捕获。我还需要捕获任何 10 位数字字符串,不需要在连字符和空格之前

最佳答案

通常是(\d{3})[ -]?(\d{10})
有了边界条件也许(?<!\d)(\d{3})[ -]?(\d{10})(?!\d)

关于java - 如何为字符串编写正则表达式模式来识别空格或连字符之前的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42376701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com