正则表达式 - 排除字符串的一部分

时间:2012-07-06 13:38:21

标签: regex

这是previous question的后续行动。我有一个字符串“Test 999-99-9”,除了最后的-9部分,我怎么能匹配所有内容?请记住,最后一个-9可能存在也可能不存在,但如果存在,我想忽略它并匹配字符串的其余部分。有什么建议吗?

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

RegEx忽略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)将找到社交   安全号码并返回它的最后四位数。