0

这是对上一个问题的跟进。我有一个字符串“Test 999-99-9”,除了最后一个 -9 部分,我将如何匹配所有内容?请记住,最后一个 -9 可能存在也可能不存在,但如果存在,我想忽略它并匹配字符串的其余部分。有什么建议么?

或者,如果它忽略整个 999-99-9 或 999-99 部分,而只返回“测试”部分,那也可以。看起来这可能更容易做到。我基本上想采用以下表达式并将其反转以返回字符串的另一半: (\d{3}-\d{2}|\d{3}-\d{2}-\d{1} )$

4

2 回答 2

0

^(Test \d{3}-\d{2})(-\d{1})?$将返回除示例中最后一个“-9”之外的所有内容,无论“-9”是否存在。

于 2012-07-06T13:46:38.983 回答
0

正则表达式忽略 999-99-9 并仅返回“测试”部分:

^([\w ]+) [\d]{3}-[\d]{2}-?[\d]?$

OCR 软件支持组:

http://www.laserfiche.com/NewsPortal/Article/2012/05/21/tech-tip-pattern-matching-with-regular-expressions

注意:括号确定从文本中提取的信息。其他字符确定将要查找的模式。例如,\d\d\d-\d\d-(\d\d\d\d) 将查找社会保险号并返回其最后四位数字。

于 2012-07-06T13:52:54.933 回答