Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是对上一个问题的跟进。我有一个字符串“Test 999-99-9”,除了最后一个 -9 部分,我将如何匹配所有内容?请记住,最后一个 -9 可能存在也可能不存在,但如果存在,我想忽略它并匹配字符串的其余部分。有什么建议么?
或者,如果它忽略整个 999-99-9 或 999-99 部分,而只返回“测试”部分,那也可以。看起来这可能更容易做到。我基本上想采用以下表达式并将其反转以返回字符串的另一半: (\d{3}-\d{2}|\d{3}-\d{2}-\d{1} )$
^(Test \d{3}-\d{2})(-\d{1})?$将返回除示例中最后一个“-9”之外的所有内容,无论“-9”是否存在。
^(Test \d{3}-\d{2})(-\d{1})?$
正则表达式忽略 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) 将查找社会保险号并返回其最后四位数字。