【发布时间】:2019-12-09 14:05:30
【问题描述】:
有以下输入:
Testing 42702434884
Testing 064352729-13
05.994.401/0001-53
Testing 134.632.125-03
我正在尝试获取包含数字的行,只考虑以文本开头的行,并从结果中删除文本,
目前我尝试了以下表达式:
(?!a-zA-Z)\b(\d{11}|\d{14})|(\d{3}\.\d{3}\.\d{3}\-\d{2}|\d{3}\d{3}\d{3}\-\d{2})|(\d{2}\.\d{3}.\d{3}\/\d{4}-\d{2}|\d{2}\d{3}\d{3}\d{4}-\d{2})\b
我能够从结果中删除文本,并找到包含模式的行,但不能只过滤以文本开头的行。以Here is the result为例
如何在从结果中删除文本的同时过滤以文本开头的行?
【问题讨论】:
-
来自regex tag info:“由于正则表达式尚未完全标准化,所有带有此标签的问题还应包含一个指定适用的编程语言或工具的标签。”
-
你是这个意思吗?
^[a-zA-Z]+ (?:(?:\d{11}|\d{14})|(?:\d{3}\.\d{3}\.\d{3}\-\d{2}|\d{3}\d{3}\d{3}\-\d{2})|(?:\d{2}\.\d{3}.\d{3}\/\d{4}-\d{2}|\d{2}\d{3}\d{3}\d{4}-\d{2})\b)regex101.com/r/wVfvSw/1 -
@nullptr 如果您愿意,可以将第一部分设为可选regex101.com/r/d5xVYA/1
标签: java regex regex-lookarounds regex-group